Только начал заниматься реверсом драйверов и задаюсь вопросом есть ли может какая то таблица или правила по которым можно определять что уязвимость а что нет?
Наверное вы подумали что я спрашиваю о метриках как определяют шкалу CVE, но не в этом вопрос
Попробую объяснить что я имею ввиду. Я смотрел недавно рапорт от одной уязвимости в драйвере одной компании, там была уязвимость read what where, ресерчер который ее нашел получил багбаунти в размере 5000$ и компания выпустила патч для нее. Но вот загвоздка в том что этот патч как бы просто меняет IoCreateDevice на IoCreateDeviceSecure с правами администратора, то есть уязвимость и ioctl к функции которая и читает память остался не измененным, я вот как бы понять не могу то есть если чтобы получить чтение надо иметь права администратора, разве это меняет того что уязвимость все также присутствует ? Или получается если я им напишу об этом еще раз то также получу баг баунти?
Также вопрос на счет уязвимостей типа DOS, как они определяется? Если например у меня есть драйвер который требует права администратора, но при одном запросе ioctl из-за того что буфер плохо инициализируется или в функции в которую он передает инпут выдает бсод, это считается DOS уязвимостью которую можно репортить?
А вот если например драйвер не важно с правами администратора или нет, позволяет получить доступ к кернел функции которая может быть полезна при построении chain атак и использовании в цепочке с другими какими то экспоитами, но сама по себе не несет никакого импакта, это тоже считается как уязвимость?
Я только несколько дней пытаюсь в этом всем варится но честно не очень понимаю как определяются уязвимости, буду рад если кто-то с опытом побольше чем у меня попробует мне объяснить.
Наверное вы подумали что я спрашиваю о метриках как определяют шкалу CVE, но не в этом вопрос
Попробую объяснить что я имею ввиду. Я смотрел недавно рапорт от одной уязвимости в драйвере одной компании, там была уязвимость read what where, ресерчер который ее нашел получил багбаунти в размере 5000$ и компания выпустила патч для нее. Но вот загвоздка в том что этот патч как бы просто меняет IoCreateDevice на IoCreateDeviceSecure с правами администратора, то есть уязвимость и ioctl к функции которая и читает память остался не измененным, я вот как бы понять не могу то есть если чтобы получить чтение надо иметь права администратора, разве это меняет того что уязвимость все также присутствует ? Или получается если я им напишу об этом еще раз то также получу баг баунти?
Также вопрос на счет уязвимостей типа DOS, как они определяется? Если например у меня есть драйвер который требует права администратора, но при одном запросе ioctl из-за того что буфер плохо инициализируется или в функции в которую он передает инпут выдает бсод, это считается DOS уязвимостью которую можно репортить?
А вот если например драйвер не важно с правами администратора или нет, позволяет получить доступ к кернел функции которая может быть полезна при построении chain атак и использовании в цепочке с другими какими то экспоитами, но сама по себе не несет никакого импакта, это тоже считается как уязвимость?
Я только несколько дней пытаюсь в этом всем варится но честно не очень понимаю как определяются уязвимости, буду рад если кто-то с опытом побольше чем у меня попробует мне объяснить.