Как запустить Ubuntu 13.04 с 3D ускоряющим использованием intel HD 4000?

Когда моя начальная загрузка системы и попытка загрузить Ubuntu, у меня есть только графическая ошибка на экране.

Я пытался использовать nomode set режим и это работают, но я не имею 3-го ускорения и не имею никаких драйверов для установки.

0
задан 29 April 2013 в 01:50

12 ответов

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

Затем необходимо будет обновить фронтенд, чтобы хешировать вводимый пользователями пароль во время входа в систему и проверить это по сравнению с сохраненным хешем, вместо того, чтобы проверить простой текст по сравнению с простым текстом.

казалось бы благоразумным мне оставить оба столбца на месте на некоторое время, чтобы гарантировать, что ничто подозрительное не продолжилось, прежде в конечном счете удалить незашифрованные пароли все-вместе.

не забывают также, что каждый раз, когда к паролю получают доступ, код должен будет измениться, такие как изменение пароля / запросы напоминания. Вы, конечно, потеряете способность послать по электронной почте забытые пароли, но это не плохая вещь. Необходимо будет использовать систему сброса пароля вместо этого.

Редактирование: Один конечный пункт, Вы могли бы хотеть рассмотреть предотвращение ошибки, я сделал на своей первой попытке испытательного стенда безопасный веб-сайт входа в систему:

При обработке пароля пользователя, рассмотрите, где хеширование происходит. В моем случае хеш был вычислен кодом PHP, работающим на веб-сервере, но пароль был передан к странице от машины пользователя в простом тексте! Это было в порядке (выход) в среде, в которой я работал, как это было в https системе так или иначе (uni сеть). Но, в реальном мире я предполагаю, что Вы хотели бы хешировать пароль, прежде чем он оставит пользовательскую систему, с помощью JavaScript и т.д., и затем передайте хеш на сайт.

19
ответ дан 1 January 2016 в 07:18

попытайтесь создать a /etc/X11/xorg.conf файл с этим в нем

Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "AccelMethod"  "uxa"
EndSection

затем перезапустите или выполненный sudo service lightdm restart от tty [Ctrl]+[Alt]+[F2]
Если это работает, зарегистрируйте отчет об ошибках с помощью команды ubuntu-bug xorg

1
ответ дан 29 April 2013 в 01:50
  • Шифруют использование чего-то как MD5, кодируют его шестнадцатеричной строкой
  • , Вам нужна соль; в Вашем случае имя пользователя может использоваться в качестве соли (это должно быть уникально, имя пользователя должно быть самым уникальным доступным значением ;-)
  • используют поле старого пароля для хранения MD5, но отмечать MD5 (i.e.g "MD5:687A878....") так, чтобы старый (простой текст) и новые пароли (MD5) мог сосуществовать
  • , изменяют процедуру входа в систему для проверки против MD5, если существует MD5, и против простого пароля иначе
  • изменяют "пароль изменения" и "нового пользователя", функции для создания паролей MD5'ed только
  • теперь можно выполнить пакетное задание преобразования, которое могло бы взять как долго по мере необходимости
  • после того, как преобразование было выполнено, удалите поддержку прежней версии
1
ответ дан 1 January 2016 в 07:18

В целях аутентификации необходимо постараться не хранить пароли с помощью обратимого шифрования, т.е. необходимо только сохранить хэш пароля и проверить хеш предоставленного пользователями пароля против хеша, который Вы сохранили. Однако тот подход имеет недостаток: это уязвимо для нападения таблицы радуги, должен взломщик овладевать своей базой данных хранилища пароля.

то, Что необходимо сделать, сохранить хеши предварительно выбранного (и секрет) соленое значение + пароль. Т.е. свяжите соль и пароль, хешируйте результат и сохраните этот хеш. При аутентификации сделайте то же - связывает соленое значение и предоставленный пользователями пароль, хеш, затем проверяет на равенство. Это делает нападения таблицы радуги невыполнимыми.

, Конечно, если пользователь отправляет пароли по сети (например, если Вы работаете над веб-приложением или клиент-серверным приложением), затем Вы не должны отправлять пароль в открытом тексте через, таким образом, вместо того, чтобы хранить хеш (соль + пароль) необходимо сохранить и проверить по хешу (соль + хеш (пароль)), и сделать, чтобы клиент предварительно хешировал предоставленный пользователями пароль и отправил тот по сети. Это защищает пароль Вашего пользователя также, должен пользователь (как многие делают), снова используют тот же пароль в нескольких целях.

2
ответ дан 1 January 2016 в 07:18

хешируйте их с md5. это - то, что обычно делается с паролями.

-5
ответ дан 1 January 2016 в 07:18

Я не специалист по безопасности, но я думаю, что текущая рекомендация состоит в том, чтобы использовать bcrypt/blowfish или вариант SHA-2, не MD5 / SHA1.

, Вероятно, необходимо думать с точки зрения полной проверки защиты, также

0
ответ дан 1 January 2016 в 07:18

Я хотел бы предложить одно улучшение большой пример Python, отправленный Orip. Я переопределил бы эти random_bytes функция, чтобы быть:

def random_bytes(num_bytes):
    return os.urandom(num_bytes)

, Конечно, необходимо было бы импортировать os модуль. Эти os.urandom функция обеспечивает случайную последовательность байтов, которые могут безопасно использоваться в криптографических приложениях. См. ссылочная справка этой функции для получения дальнейшей информации.

0
ответ дан 1 January 2016 в 07:18

MD5 и SHA1 показали немного слабости (два слова могут привести к тому же хешу), настолько использующий SHA256-SHA512 / повторяющимся хешам рекомендуют хешировать пароль.

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

  1. не используют MD5/SHA1
  2. , Генерируют хорошую случайную соль (многие crypto библиотеки имеют соленый генератор)
  3. , повторяющийся хеш-алгоритм как orip рекомендовал
  4. , Гарантируют, что пароли не передаются в простом тексте по проводу
0
ответ дан 1 January 2016 в 07:18

Для хеширования пароля, можно использовать функция HashBytes. Возвращает varbinary, таким образом, необходимо было бы создать новый столбец и затем удалить старый varchar один.

Как

ALTER TABLE users ADD COLUMN hashedPassword varbinary(max);
ALTER TABLE users ADD COLUMN salt char(10);
--Generate random salts and update the column, after that
UPDATE users SET hashedPassword = HashBytes('SHA1',salt + '|' + password);

Затем Вы изменяете код для проверки пароля, с помощью запроса как

SELECT count(*) from users WHERE hashedPassword = 
HashBytes('SHA1',salt + '|' + <password>)

где < пароль> является значением, вводимым пользователем.

-1
ответ дан 1 January 2016 в 07:18

РЕДАКТИРОВАНИЕ (2016): используйте Argon2, scrypt, bcrypt, или PBKDF2, в том порядке предпочтения. Используйте столь большой фактор замедления, как выполнимо для Вашей ситуации. Используйте исследуемую существующую реализацию. Удостоверьтесь, что Вы используете надлежащую соль (хотя библиотеки, которыми Вы пользуетесь, должны удостоверяться в этом для Вас).

<час>

, Когда Вы хешируете использование паролей , НЕ ИСПОЛЬЗУЮТ ПРОСТОЙ MD5.

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

Из документа:

  • Выполняют итерации по крайней мере 1 000 раз, предпочтительно более - время Ваша реализация для наблюдения, сколько повторений выполнимо для Вас.
  • 8 байтов (64 бита) соли достаточны, и случайное не должно быть безопасным (соль не шифруется, мы не волнуемся, что кто-то предположит это).
  • А хороший способ применить соль, когда хеширование должно будет использовать HMAC с Вашим любимым хеш-алгоритмом, с помощью пароля в качестве ключа HMAC и соли как текст для хеширования (см. этот раздел из документа).

реализация В качестве примера в Python, с помощью SHA-256 в качестве безопасного хеша:

РЕДАКТИРОВАНИЕ : как упомянуто Eli Collins это не реализация PBKDF2. Необходимо предпочесть реализации, которые придерживаются стандарта, такой как PassLib.

from hashlib import sha256
from hmac import HMAC
import random

def random_bytes(num_bytes):
  return "".join(chr(random.randrange(256)) for i in xrange(num_bytes))

def pbkdf_sha256(password, salt, iterations):
  result = password
  for i in xrange(iterations):
    result = HMAC(result, salt, sha256).digest() # use HMAC to apply the salt
  return result

NUM_ITERATIONS = 5000
def hash_password(plain_password):
  salt = random_bytes(8) # 64 bits

  hashed_password = pbkdf_sha256(plain_password, salt, NUM_ITERATIONS)

  # return the salt and hashed password, encoded in base64 and split with ","
  return salt.encode("base64").strip() + "," + hashed_password.encode("base64").strip()

def check_password(saved_password_entry, plain_password):
  salt, hashed_password = saved_password_entry.split(",")
  salt = salt.decode("base64")
  hashed_password = hashed_password.decode("base64")

  return hashed_password == pbkdf_sha256(plain_password, salt, NUM_ITERATIONS)

password_entry = hash_password("mysecret")
print password_entry # will print, for example: 8Y1ZO8Y1pi4=,r7Acg5iRiZ/x4QwFLhPMjASESxesoIcdJRSDkqWYfaA=
check_password(password_entry, "mysecret") # returns True
49
ответ дан 1 January 2016 в 07:18

Я думаю, что необходимо сделать следующее:

  1. Создают новый столбец под названием HASHED_PASSWORD или что-то подобное.
  2. Изменяют Ваш код так, чтобы он проверил на оба столбца.
  3. Постепенно перемещают пароли от нехешированной таблицы до хешированной. Например, когда пользователь входит в систему, переместите его пароль автоматически в хешированный столбец и удалите нехешированную версию. Все недавно зарегистрированные пользователи хешируют пароли.
  4. После закрытия, можно запустить скрипт, который перемещает n пользователей время
  5. , Когда Вы не имеете более нехешированные пароли в запасе, можно удалить столбец старого пароля (Вы не можете делать так, зависит от базы данных, которую Вы используете). Кроме того, можно удалить код для обработки старых паролей.
  6. Вы сделаны!
3
ответ дан 1 January 2016 в 07:18

Как со всеми решениями безопасности, существуют компромиссы. При хешировании пароля который является, вероятно, самым легким перемещением, Вы не можете предложить функцию извлечения пароля, которая возвращает старый пароль, и при этом Ваш штат не может искать пароль человека для доступа к их учетной записи.

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

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

0
ответ дан 1 January 2016 в 07:18

Другие вопросы по тегам:

Похожие вопросы: