Rainbow Table 공격으로부터 자신을 보호하는 방법

레인보우 테이블 공격은 암호 해독에 매우 효과적인 방법이지만, 몇 가지 간단한 방법으로 자신을 보호할 수 있습니다. 함께 알아볼까요?

온라인 보안을 강화하기 위해 긴 암호 문자열을 설정하라는 조언을 많이 듣습니다. 물론 어느 정도는 맞는 말이지만, 사이버 보안은 단순히 복잡한 문자열을 만드는 것 이상으로 훨씬 더 복잡한 문제입니다.

긴 암호를 해킹하는 것은 일반적으로 어려운 일이지만, 암호 해시(다음 섹션에서 설명)와 적절한 레인보우 테이블이 있다면 비교적 쉽게 수행할 수 있습니다.

레인보우 테이블 공격이란?

레인보우 테이블은 일반적이거나 유출된 비밀번호에 해당하는 해시값들을 모아놓은 데이터 세트입니다. 쉽게 말해, 암호와 해시값의 목록이라고 생각하면 됩니다.

온라인 공격에서 암호의 중요성을 이해하려면, 먼저 암호가 어떻게 작동하는지 알아야 합니다.

암호 데이터베이스는 일반적으로 사용자의 암호를 해시 형태로 저장하여 보안을 강화합니다. 해싱 알고리즘은 일반 텍스트 암호를 암호화된 형태로 변환하는 데 사용됩니다.

예를 들어, 온라인 포털(예: Gmail)에 암호를 입력할 때마다 해시값이 생성되고, 이 해시값이 저장된 해시값과 비교됩니다. 두 해시값이 일치하면 로그인이 성공하는 방식입니다.

이해를 돕기 위해, 자체 koreantech.org의 해시 생성 도구를 사용해 보겠습니다.

만약 누군가가 “geekflare123″과 같이 단순한 암호를 사용한다면, 이 암호의 해시값은 “c0b78d5679f24e02fe72b8b30f16bbda”와 같이 데이터베이스에 저장됩니다.

특히, 이 해시값을 생성하는 데 사용된 해싱 알고리즘은 MD5입니다.

이제 악의적인 사용자가 불법적으로 해시 데이터베이스에 접근했다고 가정해 봅시다. 이들은 레인보우 테이블(MD5 알고리즘용)을 사용하여 해시값과 원래 암호를 일치시키는 암호 크래킹 도구를 사용할 수 있습니다.

일단 사용자 이름과 연결되면 해당 계정은 해킹당하게 됩니다.

이러한 공격 방식을 레인보우 테이블 공격이라고 합니다.

참고 자료: Hashcat 도구를 사용하여 암호를 해독하는 방법

레인보우 테이블 공격으로부터 보호하는 방법

레인보우 테이블 공격은 해커가 유출된 해시 데이터베이스에 접근하여 정보를 얻거나, 다크 웹에서 이미 유출된 정보를 활용함으로써 발생합니다.

이러한 공격으로부터 스스로를 보호하는 것은 개인과 암호 데이터베이스 관리자 모두에게 달려 있습니다.

개인 사용자가 할 수 있는 일들은 다음과 같습니다.

  • 고유한 암호를 설정하고, 다크 웹에서 유출된 적이 있는지 꾸준히 확인해야 합니다. 다크 웹 모니터링 도구를 사용하면 자신의 자격 증명이 노출되었는지 쉽게 확인할 수 있습니다. 노출되었다면 해당 암호를 즉시 변경해야 합니다.
  • 더 좋은 방법은 다단계 인증을 사용하는 것입니다. 이는 보안을 강화하는 추가적인 방법이 됩니다. 인증 앱이나 YubiKey와 같은 하드웨어 보안 도구를 사용할 수 있습니다.
  • 가장 좋은 방법 중 하나는 비밀번호 없는 인증입니다. 비밀번호를 사용하는 방식보다 훨씬 안전하며, 비밀번호 자체를 해킹할 필요가 없습니다. 이 방법은 매직 로그인 링크, TOTP, 생체 인식 등을 활용합니다. 하지만 모든 온라인 포털이 이러한 고급 로그인 시스템을 갖추고 있는 것은 아니므로, 가능하면 적극적으로 활용하는 것이 좋습니다.

다음은 암호 관리 시스템을 대상으로 한 몇 가지 추가적인 보안 방법입니다.

  • 해싱 전에 암호에 소금(임의의 문자열)을 추가하면 암호가 고유해져서 이미 만들어진 레인보우 테이블을 무력화할 수 있습니다. 또한, 최상의 무작위성을 위해서는 소금에 사용자 이름을 포함하지 않아야 합니다.
  • MD5, SHA1과 같은 오래된 해싱 알고리즘 사용을 피하고, SHA256 또는 SHA512와 같이 더 안전한 알고리즘을 사용하는 것이 좋습니다. 더 나은 알고리즘이 나오기 전까지는 이러한 알고리즘이 최선의 선택입니다.
  • 저장된 해시값은 소금과 원래 암호로 첫 번째 해시를 다시 해싱하여 강화할 수 있습니다. 이 과정을 여러 번 반복하면 컴퓨팅 능력의 한계로 인해 해킹하기가 훨씬 어려워집니다.

레인보우 테이블 공격은 여전히 위협적인가?

최근에는 소금을 추가한 해시가 표준으로 자리 잡으면서 레인보우 테이블 공격은 점점 더 무력화되고 있습니다. 또한, 고급 해싱 알고리즘이 널리 사용되면서 레인보우 테이블 공격은 과거의 위협이 되어가고 있습니다.

레인보우 테이블을 직접 만드는 것은 매우 어렵기 때문에 공격자들은 보통 이미 만들어진 테이블에 의존합니다. 따라서 위에서 언급한 예방 조치를 취하면 레인보우 테이블 공격은 효과를 발휘하기 어렵습니다.

마무리

사이버 보안은 우리와 인터넷 사이의 끊임없는 싸움과 같습니다. 항상 경계를 늦추지 않고, 최신 보안 모범 사례를 꾸준히 따라야 합니다.

레인보우 테이블 공격이 현재 가장 큰 위협은 아닐지라도, 위에 제시된 조치들을 숙지하고 실천하는 것이 좋습니다.

추신: 레인보우 테이블 공격 외에도 주의해야 할 다양한 사이버 범죄가 있습니다. 항상 경계를 늦추지 마세요.