Кіріспе
Интернетте пакеттің шығу тегін анықтау әдісі
IP-тегiнiң қайсысы пакеттің шығу тегін сенімді анықтайтын кез келген әдіс IP-тегiнiң қайсысы. IP протоколы IP-пакеттің бастапқы IP-адресін куәландырмайды, бұл IP-адрестің жалғандауына мүмкіндік береді және Интернет қауіпсіздігі мен тұрақтылығына қатысты проблемалар тудырады. Жалған IP-адрестерді пайдалану қызметтен бас тарту (DoS) шабуылдарына немесе бір бағытты шабуылдарға (құрбан болатын хосттан алынған жауап мүлдем белгілі болғандықтан, шабуылды жалғастыру үшін кері пакеттерді қабылдау қажет емес) жол ашады. IP-тегiнiң іздеуі шабуыл көздерін анықтау және Интернетті қорғау шараларын енгізу үшін маңызды. Қазіргі кездегі көптеген шешімдер DoS шабуылдарын анықтауға бағытталған. Мұндай шешімдер шабуыл жолында пакеттердің көп мөлшерде жиналуын қажет етеді.
IP traceback is any method for reliably determining the origin of a packet on the Internet. The IP protocol does not provide for the authentication of the source IP address of an IP packet, enabling the source address to be falsified in a strategy called IP address spoofing, and creating potential internet security and stability problems. Use of false source IP addresses allows denial of service attacks (DoS) or one way attacks (where the response from the victim host is so well known that return packets need not be received to continue the attack). IP traceback is critical for identifying sources of attacks and instituting protection measures for the Internet. Most existing approaches to this problem have been tailored toward DoS attack detection. Such solutions require high numbers of packets to converge on the attack path(s).
Пакеттердің ықтималдық белгісі
Савидж және басқалар интернет арқылы маршрутизаторларды пакеттер өтетін кезде пакеттерді ықтималдықпен таңбалауды ұсынды. Олар маршрутизатордың IP-адресімен немесе пакет маршрутизаторға жету үшін өткен жолдың жиегімен таңбалауды ұсынады. Бірінші нұсқада, маршрутизатордың IP-адресімен таңбалау, талдау 95% дәлдікпен шабуылдың дұрыс жолын алу үшін 294 000 пакет қажет екенін көрсетеді. Екінші тәсіл – жиекті таңбалау, онда жиекті құрайтын екі түйін IP-адрестерін және олардың арасындағы қашықтықты таңбалайды. Бұл тәсіл әр пакетте қарапайым түйін таңбалаудан гөрі көбірек күй ақпаратын қажет етеді, бірақ әлдеқайда жылдам жиналады. Олар осы тәсілдердің күйін басқаруға болатын деңгейге дейін азайтудың үш жолын ұсынады. Осыған сәйкес, Сонг пен Перриг келесі трекбек схемасын ұсынады: хэшпен араласқан IP-адресті кодтаудың орнына, IP-адресті 11 биттік хэшке кодтауды және 5 биттік секіру санын сақтауды ұсынады, екеуі де 16 биттік фрагмент ID өрісінде сақталады. Бұл 5 биттік (32 максималды секіру) секіру саны барлық интернет маршруттары үшін жеткілікті деген тұжырымға негізделген. Сонымен қатар, олар екі түрлі хэш функциясын қолдануды ұсынады, осылайша таңбалаудағы маршрутизаторлардың ретін анықтауға болады. Бұдан кейін, егер кез келген секіру оны таңбалауды шешсе, алдымен қашықтық өрісін 0-ге тексереді, бұл алдыңғы маршрутизатор оны таңбалағанын білдіреді. Егер осылай болса, ол өзінің IP-адресінің 11 биттік хэшін жасайды, содан кейін оны алдыңғы секірумен XOR операциясын жасайды. Егер ол нөлден басқа секіру санын тапса, ол IP хэшін енгізеді, секіру санын нөлге қойып, пакетті алға жібереді. Егер маршрутизатор пакетке таңба қоймауды шешсе, ол жүктемелі фрагмент ID өрісіндегі секіру санын ғана арттырады. Раянчу мен Баруа осы тәсілдің тағы бір нұсқасын ұсынады (DERM деп аталады). Олардың тәсілі ұқсас, өйткені олар пакеттің фрагмент ID өрісінде кіріс интерфейсінің кодталған IP-адресін пайдалануды қалайды. Олар Belenky және Ansari-ден айырмашылығы, IP-адресті 16 биттік хэш ретінде кодтауға ниетті. Бастапқыда олар белгілі хэш функциясын таңдайды. Олар егер 2^16-дан көп шеттік маршрутизатор таңбалау жасаса, кейбір қақтығыстар болатынын айтады. Олар жаһандық жиынтықтан хэш функциясын кездейсоқ таңдау арқылы қақтығыс мәселесін азайтуға тырысады, содан кейін оны IP-адреске қолданады. Кез келген хэш сценарийінде бастапқы мекенжай мен хэш бірге кестеге түсіріледі, сондай-ақ олар адрестің қай бөлігін алғандарын көрсететін бит қосады. Күрделі процедура және кездейсоқ хэш таңдау арқылы олар мекенжай қақтығыстарын азайта алады. Детерминистік тәсілді қолдану арқылы олар өз таңбаларын қайта құру процедурасының уақытын қысқартады (16 биттік хэш). Алайда, осы таңбаны хэш арқылы кодтау арқылы олар қақтығыс ықтималдығын және осылайша жалған оң нәтижелерді енгізеді. С. Маджумдар, Д. Кулькарни және С. Равишанкар ICDCN 2011 конференциясында DHCP пакеттерінің бастауын анықтау үшін жаңа әдіс ұсынды. Олардың әдісі жаңа DHCP опциясын қосады, онда DHCP пакетін қабылданған шеткі коммутатордың MAC-адресі мен кіру порты болады. Бұл жаңа параметр DHCP пакетіне шеткі коммутатор арқылы қосылады. Бұл шешім DHCP RFC талаптарына сәйкес келеді. Бұрынғы IP трекбек механизмдері IP-адрестің басындағы өрістерді трекбек ақпаратымен тым көп жүктеді, осылайша IP RFC талаптарын бұзды. Басқа механизмдер сияқты, бұл жұмыс та желіге сенім артады деп есептейді. Бұл жұмыс осы практикалық тәсілді жобалау кезінде қарастырылған маршрутизаторлардың/коммутаторлардың әртүрлі өнімділік мәселелерін ұсынады. Алайда, бұл тәсіл жалпы IP пакеттеріне қолданылмайды.
Маршрутизаторға негізделген тәсіл
Роутерлік тәсілдерде маршрутизатор пакеттердің одан өтетіні туралы ақпаратты сақтаумен жабдықталады. Мысалы, Сагер пакеттерді тіркеп, кейін деректерді талдауды ұсынады. Бұл жылдам өңдеуге кедергі келтірмейтін, жолақтың сыртында жұмыс істеудің артықшылығын береді. Snoeren және авторлар тобы маршрутизатор ішінде пакеттерді белгілеуді ұсынады. Олардың мақаласындағы идея – пакеттің өзгермейтін бөліктеріне (көзі, бағыты және т.б.) және жүктеменің алғашқы 8 байтына негізделген пакеттің «саусақтың ізін» жасау (бұл қақтығыс ықтималдығын азайту үшін жеткілікті ерекше). Нақтырақ айтқанда, m тәуелсіз қарапайым хэш-функциялардың әрқайсысы 2n-1 диапазонында нәтиже береді. Барлық хэш-функциялардың нәтижелерімен біріктірілгенде, саусақтың ізін құру үшін индексте біт белгіленеді. Барлық саусақтың іздері 2n биттік кестеде сақталады, кейін іздеу үшін қолданылады. Мақалада осы мақсатқа арналған қарапайым хэш-функциялар отбасы көрсетілген және аппараттық іске асырылуы ұсынылған. Әрбір маршрутизатордағы қажетті жад көлемі шектеулі және басқарылатын (2n бит). n-нің кішкентай мәні пакеттік хэштердің (және қате идентификацияның) қақтығыс ықтималдығын арттырады. Пакеттің қайдан келгенін анықтау үшін, ол бастапқы маршрутизаторларға жіберіледі, онда саусақтың іздері сәйкестік үшін тексеріледі. Уақыт өте келе, саусақтың іздері туралы ақпарат басқа пакеттердің хэштерімен «жабылады». Осылайша, бұл тәсілдің селективтілігі пакеттің өтуі мен трассировка сұранысы арасындағы уақытқа байланысты төмендейді. Жадының шектеулеріне байланысты туындайтын мәселені азайту үшін Snoeren's hashing approach and implementation (SPIE) әдісін қолданады және оны өздерінің хэш үшін ақпаратты қабылдауға бейімдейді. Олар өз алгоритмінің баяу екенін (O(N2)) мойындайды және тек 3,3 миллион пакеттік хэш сақталғанда, қорыту кестелерінің жарамсыз болуына дейінгі шамамен уақыт 1 минутты құрайды. Бұл кез келген шабуылға жауап берудің нақты уақытта болуын талап етеді – бұл тек бір әкімшілік LAN доменінде ғана мүмкін. Трассировка мәселесі жалған пакеттердің болуымен күрделенеді. Сондықтан, осыған байланысты жұмыстар жалған пакеттерді болдырмауға бағытталған; бұл кіру сүзгісі деп аталады. Кіру сүзгісі желіге кіру нүктелерінде жалған пакеттерді осы маршрутизаторды пайдалана алатын заңды көз желілерінің тізімін қадағалау арқылы шектейді. Парк және Ли 3-деңгейде кіру сүзгісін кеңейтуді ұсынады. Олар, кемінде, кіші желіге қатысты жалған пакеттерді анықтау құралын ұсынады, негізінен, маршрутизаторлар пакетті маршрутизациялау керек пе, жоқ па деген шешімді қабылдау үшін қолданыстағы OSPF маршрутизациялау ақпаратын пайдаланады.