Кіріспе

Таинт тексеру – Perl, Ruby немесе Ballerina сияқты кейбір компьютерлік бағдарламалау тілдеріндегі мүмкіндік, ол қауіпсіздікті арттыру үшін жасалған, зиянды пайдаланушылардың хост компьютерде командаларды орындауына жол бермейді. Таинт тексерулер SQL инъекциясы немесе буфер асып кету шабуылдары сияқты техникалар арқылы шабуылға ұшыраған веб-сайттармен байланысты нақты қауіпсіздік тәуекелдерін анықтайды.

Шолу

Таинт тексерудің қағидасы – сыртқы қолданушы өзгерте алатын кез келген айнымалы (мысалы, веб-формадағы өріс арқылы орнатылған айнымалы) потенциалды қауіпсіздік қаупін тудырады. Егер бұл айнымалы екінші айнымалыны анықтайтын өрнекте қолданылса, онда екінші айнымалы да күдікті болып есептеледі. Содан кейін таинт тексеру құралы сыртқы енгізілімге ұшырауы мүмкін айнымалылардың тізімін қалыптастыра отырып, айнымалыдан айнымалыға өтеді. Егер осы айнымалылардың кез келгені қауіпті командаларды орындау үшін қолданылса (мысалы, SQL дерекқорына немесе хост компьютердің операциялық жүйесіне тікелей командалар), таинт тексеруші бағдарламаның потенциалды қауіпті таинтталған айнымалыны пайдаланатыны туралы ескертеді. Компьютерлік бағдарламашы бағдарламаны қайта жобалап, қауіпті енгізілімге қауіпсіз қоршау құруы мүмкін. Таинт тексеруді толық араласпауды тексерудің консервативті жуықтауы немесе қауіпсіз ақпарат ағынының жалпы ұғымы ретінде қарастыруға болады. Ақпарат ағынын жүйеде тек бір орындалу ізбен тексеру мүмкін болмайтындықтан, таинтталған талдау нәтижелері осы жүйеге қолданылған ақпарат ағынының сипаттамалары туралы шамамен ақпаратты көрсетеді.

Тарих

Perl кем дегенде 3.0 нұсқасынан бастап (1989 жылы жарық көрген) setuid скрипттерінде деректерді ластау мүмкіндігін қолдады, бірақ бұл мүмкіндік 5.0 нұсқасына (1994 жылы жарық көрген) дейін толыққанды іске қосылмады. Дегенмен, қолдау эксперименталды деп есептелгендіктен, ол бастапқыда өшірілген күйде келді (қосу үшін пайдаланушының араласуы қажет болды) және деректерді ластау мүмкіндігінен пайдалану үшін сайт әзірлеушілері скрипттерді өзгертуге міндетті болды. Басқа браузер әзірлеушілері бұл мүмкіндікті ешқашан іске қоспады.