Ҳамлаи нави SAD DNS барои ворид кардани маълумоти бардурӯғ ба кэши DNS

Як гурӯҳи муҳаққиқон аз Донишгоҳи Калифорния, Риверсайд як варианти нави ҳамлаи SAD DNS (CVE-2021-20322) -ро нашр карданд, ки сарфи назар аз муҳофизатҳое, ки соли гузашта барои бастани осебпазирии CVE-2020-25705 илова шуда буданд, кор мекунад. Усули нав ба таври умум ба осебпазирии соли гузашта шабоҳат дорад ва танҳо дар истифодаи навъи дигари бастаҳои ICMP барои тафтиши бандарҳои фаъоли UDP фарқ мекунад. Ҳамлаи пешниҳодшуда имкон медиҳад, ки маълумоти бардурӯғ ба кэши сервери DNS иваз карда шавад, ки он метавонад барои иваз кардани суроғаи IP-и домени худсарона дар кэш истифода шавад ва дархостҳо ба домен ба сервери ҳамлагар истифода шавад.

Усули пешниҳодшуда танҳо дар стеки шабакаи Linux кор мекунад, зеро он ба хусусиятҳои механизми коркарди бастаҳои ICMP дар Linux пайваст аст, ки ҳамчун манбаи ихроҷи маълумот амал мекунад, ки муайян кардани рақами порти UDP-ро, ки сервер барои фиристодани маълумот истифода мебарад, осон мекунад. дархости беруна. Тағироте, ки ихроҷи иттилоотро маҳкам мекунанд, дар ядрои Linux дар охири моҳи август қабул карда шуданд (ислоҳ ба ядрои 5.15 ва навсозиҳои моҳи сентябр ба шохаҳои LTS ядро ​​дохил карда шуд). Ислоҳ барои гузаштан ба истифодаи алгоритми ҳашингии SipHash дар кэшҳои шабакавӣ ба ҷои Ҷенкинс Ҳаш анҷом меёбад. Ҳолати ислоҳи осебпазириро дар тақсимот дар ин саҳифаҳо арзёбӣ кардан мумкин аст: Debian, RHEL, Fedora, SUSE, Ubuntu.

Ба гуфтаи муҳаққиқоне, ки мушкилотро муайян кардаанд, тақрибан 38% ҳалкунандаҳои кушода дар шабака осебпазиранд, аз ҷумла хидматҳои маъмули DNS ба монанди OpenDNS ва Quad9 (9.9.9.9). Дар мавриди нармафзори сервер, ҳамла метавонад тавассути истифодаи бастаҳо ба монанди BIND, Unbound ва dnsmasq дар сервери Linux анҷом дода шавад. Мушкилот дар серверҳои DNS, ки дар системаҳои Windows ва BSD кор мекунанд, пайдо намешавад. Барои бомуваффақият анҷом додани ҳамла, истифодаи қаллобии IP зарур аст, яъне. талаб карда мешавад, ки ISP-и ҳамлакунанда бастаҳоро бо суроғаи IP-и манбаи қалбакӣ масдуд накунад.

Ёдовар мешавем, ки ҳамлаи SAD DNS муҳофизати ба серверҳои DNS иловашударо барои бастани усули классикии заҳролудшавии кэши DNS, ки соли 2008 аз ҷониби Дэн Каминский пешниҳод шуда буд, мегузарад. Усули Каминский андозаи ночизи майдони ID-и дархости DNS-ро, ки ҳамагӣ 16 бит аст, идора мекунад. Барои интихоби идентификатори дурусти транзакцияи DNS, ки барои қаллобии номи мизбон зарур аст, фиристодани тақрибан 7000 дархост ва тақлид кардани тақрибан 140 ҳазор ҷавоби сохта кифоя аст. Ҳамла ба фиристодани шумораи зиёди бастаҳо бо пайвасти тахайюлии IP ва бо идентификаторҳои транзаксияҳои гуногуни DNS ба ҳалли DNS анҷом дода мешавад. Барои пешгирӣ кардани кэшкунии посухи аввал, ҳар як ҷавоби муҷаррад номи домени каме тағйирёфтаро дар бар мегирад (1.example.com, 2.example.com, 3.example.com ва ғайра).

Барои муҳофизат аз ин намуди ҳамла, истеҳсолкунандагони сервери DNS тақсимоти тасодуфии ададҳои портҳои шабакавии манбаъро амалӣ карданд, ки аз онҳо дархостҳои ҳалли масъала фиристода мешаванд, ки андозаи нокифояи бузурги идентификаторро ҷуброн мекарданд. Пас аз татбиқи муҳофизат барои фиристодани ҷавоби афсонавӣ, ба ғайр аз интихоби идентификатори 16-бит, зарурати интихоб кардани яке аз 64 ҳазор портҳо ба миён омад, ки шумораи вариантҳои интихобро то 2^32 зиёд кард.

Усули SAD DNS ба шумо имкон медиҳад, ки муайян кардани рақами порти шабакаро ба таври куллӣ содда кунед ва ҳамларо ба усули классикии Каминский кам кунед. Ҳамлагар метавонад дастрасӣ ба бандарҳои истифоданашуда ва фаъоли UDP-ро бо истифода аз маълумоти ифшошуда дар бораи фаъолияти портҳои шабака ҳангоми коркарди бастаҳои ҷавобии ICMP муайян кунад. Ин усул ба мо имкон медиҳад, ки шумораи вариантҳои ҷустуҷӯро ба 4 дараҷаи бузургӣ кам кунем - 2^16+2^16 ба ҷои 2^32 (131_072 ба ҷои 4_294_967_296). Ихроҷи маълумоте, ки ба шумо имкон медиҳад, ки портҳои фаъоли UDP-ро зуд муайян кунед, аз сабаби камбуди код барои коркарди бастаҳои ICMP бо дархостҳои фрагментатсия (ICMP Fragmentation Needed flag) ё масир (парчами ICMP Redirect) ба вуҷуд омадааст. Фиристодани чунин бастаҳо ҳолати кэшро дар стеки шабакавӣ тағйир медиҳад, ки имкон медиҳад дар асоси посухи сервер муайян карда шавад, ки кадом порти UDP фаъол аст ва кадомаш не.

Сенарияи ҳамла: Вақте ки ҳалли DNS кӯшиш мекунад, ки номи доменро ҳал кунад, он дархости UDP-ро ба сервери DNS, ки ба домен хидмат мекунад, мефиристад. Ҳангоме ки ҳалкунанда мунтазири посух аст, ҳамлакунанда метавонад рақами порти манбаъро, ки барои ирсоли дархост истифода шуда буд, зуд муайян кунад ва ба он посухи қалбакӣ фиристад, ки сервери DNS-ро бо истифода аз қаллобии суроғаи IP хидмат мекунад. Ҳалли DNS маълумоти дар ҷавоби қалбакӣ фиристодашударо кэш мекунад ва барои чанд вақт суроғаи IP-ро, ки ҳамлагар барои ҳама дархостҳои дигари DNS барои номи домен иваз кардааст, бармегардонад.

Манбаъ: opennet.ru

Илова Эзоҳ