Ну эксплойты затем и появляются, чтобы давать доступ туда, куда его нет. Например, через протекающие абстракции. Если злоумышленник сможет выполнить в режиме ядра что-то, то рандомизованные адреса функций заставят его их как-то искать, что не факт что получится. Может быть, и вовсе придется действовать методом тыка, что означает крах всей системы на любую неудачную попытку (что строго лучше тихо выполненного зловредного кода)