Slack은 PlatoBlockchain Data Intelligence에서 3개월 동안 해시된 비밀번호를 유출했다고 인정했습니다. 수직 검색. 일체 포함.

Slack, XNUMX개월 동안 해시된 비밀번호 유출 인정

인기 있는 협업 도구인 Slack(세계에서 가장 오래 실행되는 Linux 배포판인 Slackware의 별명과 혼동하지 말 것)은 최근 사이버 보안 SNAFU를 소유했습니다.

제목의 뉴스 게시판에 따르면 Slack 비밀번호 재설정에 대한 알림, 회사는 실수로 개인 데이터를 과도하게 공유했다고 인정했습니다. "사용자가 작업 공간에 대한 공유 초대 링크를 생성하거나 취소할 때."

2022년 04월 17일부터 2022년 07월 17일까지(두 날짜가 모두 포함된 것으로 가정) Slack은 이러한 초대 수신자에게 전송된 데이터가 포함되어 있다고 말했습니다.

…좀 기다려…

…그만큼 보낸 사람의 해시된 암호.

무엇이 잘못 되었습니까?

Slack의 보안 권고는 침해를 매우 명확하게 설명하지 않고 다음과 같이 말합니다. "[t]이 해시된 암호는 Slack 클라이언트에 표시되지 않았습니다. 이를 발견하려면 Slack 서버에서 들어오는 암호화된 네트워크 트래픽을 적극적으로 모니터링해야 했습니다.”

우리는 이것이 다음과 같이 번역된다고 추측하고 있습니다.

“대부분의 수신자는 수신한 데이터에 해시된 암호 정보가 포함되어 있다는 사실을 알아차리지 못했을 것입니다. 그 정보는 전송된 네트워크 패킷에 포함되어 있지만 의도적으로 표시되지 않았기 때문입니다. 그리고 데이터가 TLS 연결을 통해 전송되었기 때문에 도청자는 연결의 다른 쪽 끝에 도달할 때까지 해독되지 않기 때문에 도중에 이를 스니핑할 수 없었을 것입니다.”

그것은 좋은 소식입니다.

그러나 네트워크 패킷에는 일반적으로 사용하거나 받는 사람이 볼 수 없는 데이터가 포함되는 경우가 많습니다.

HTTP 헤더는 보고 있는 웹 페이지에 표시하기 위한 데이터가 아니라 브라우저에 대한 지침을 제공하기 위한 것임을 감안할 때 이에 대한 좋은 예입니다.

또한 사용자에게 관련이 없거나 보이지 않는 데이터는 종종 로그, 특히 방화벽 로그에 저장되어 무기한으로 보존될 수 있습니다.

그것은 나쁜 소식입니다.

소금, 해시 및 스트레치…

Slack에 따르면 유출된 데이터는 단순히 해시하지만, 소금에 절인 또한 해시 함수가 적용되기 전에 각 사용자의 암호가 해당 사용자에게 고유한 임의의 데이터와 함께 먼저 혼합되었음을 의미합니다.

해시는 본질적으로 한 방향으로는 쉽게 계산할 수 있지만 다른 방향으로는 계산할 수 없는 "돌이킬 수 없는" 수학 함수입니다.

예를 들어 다음과 같이 쉽게 계산할 수 있습니다.

  SHA256("DUCK") = 7FB376..DEAD4B3AF008

그러나 "뒤로" 작업하는 유일한 방법은 7FB376..DEAD4B3AF008DUCK 일하는 것이다 포워드 사전에 있는 모든 가능한 단어에서 찾고 일치시키려는 값과 일치하는 단어가 있는지 확인하십시오.

  SHA256("AARDVARK") = 5A9394..467731D0526A [X] SHA256("AARON") = C4DDDE..12E4CFE7B4FD [X] SHA256("아바쿠스") = BEDDD8..1FE4DE25AAD7 . . 3400 건너뛴 SHA256("BABBLE") = 70E837..CEAD4B1FA777 [X] SHA256("BADGER") = 946D0D..7B3073C1C094 [X] SHA256("BAGPIPE") = .359D . . 193 건너뛴 SHA111("CABAL") = D3200CF256..78BE4 [X] SHA85("CACHE") = C02967565F256..118F9E22B3269 [X] SHA7("CAGOULE") = .32EA256 . . 5 건너뛴 SHA530("DAB") = BBCC5E..E26B5CAB56 [X] SHA5400("DAFFODIL") = 256D..D8AB8A98 [X] SHA5128("위험") = 256BBC75121..6401 . . 24 건너뛴 SHA98("DUCK") =  7FB376..DEAD4B3AF008 [찾았다!]

그리고 각 사용자에게만 고유하고 비밀일 필요는 없는 사용자별 솔트를 포함하면 두 명의 사용자가 동일한 비밀번호를 선택하더라도 동일한 비밀번호 해시로 끝나지 않도록 할 수 있습니다.

여기서 염분의 효과를 볼 수 있습니다. 단어를 해시할 때 DUCK 세 가지 다른 접두사:

  SHA256("RANDOM1-DUCK") = E355DB..349E669BB9A2 SHA256("RANDOM2-DUCK") = 13D538..FEA0DC6DBB5C <-- 하나의 입력 바이트만 변경하면 매우 다른 해시 생성 SHA256("DUCK"3) =..52ARXXQ92H .544208A19449

이는 또한 공격자가 미리 계산된 해시 가능성 목록을 만들거나 무지개 테이블, 해시 검사를 가속화할 수 있습니다. (가능한 모든 소금에 대해 완전히 새로운 해시 목록 또는 고유한 무지개 테이블 세트가 필요합니다.)

다시 말해서, 해시 및 솔트 처리된 암호는 원래 입력을 복구하기 위해 쉽게 해독될 수 없습니다. 특히 원래 암호가 복잡하고 무작위로 선택된 경우에는 더욱 그렇습니다.

Slack이 말하지 않은 것은 늘어 암호 해시도, 그렇다면 어떻게.

스트레칭 알려진 암호 해시에 대해 사전 단어 무리를 시도하는 데 필요한 시간을 연장하기 위해 암호 해시 프로세스를 반복해서(예: 100,000번) 반복하는 것을 의미하는 전문 용어입니다.

일반 솔트 앤 해시 프로세스를 통해 사전 단어 100,000개를 입력하는 데 6초가 걸린다면 암호 해시를 알고 있는 공격자는 XNUMX분마다 XNUMX만 개의 다른 사전 단어와 파생어를 시도하거나 XNUMX시간마다 XNUMX억 개 이상의 추측을 할 수 있습니다. .

반면에, 솔트 앤 해시 계산이 각각 XNUMX초가 걸리도록 확장된다면 로그인을 시도할 때 추가로 XNUMX초가 지연될 것입니다.

...하지만 공격자는 시간당 3600번의 시도로 줄어들어 가장 명백한 암호 외에는 추측할 수 있는 충분한 시간을 가질 가능성이 훨씬 줄어듭니다.

몇 가지 잘 알려진 salt-hash-and-stretch 알고리즘이 알려져 있습니다. PBKDF2, bcrypt, scryptArgon2, 이 모든 것은 개별 암호 추측을 시도하는 데 필요한 시간을 늘리도록 조정할 수 있습니다. 생존력을 감소 이른바 사전 및 무차별 대입 공격.

A 사전 공격 에서 생각할 수 있는 모든 단어와 같이 가능성 있는 암호만 시도하고 있음을 의미합니다. aardvarkzymurgy, 그리고 포기. ㅏ 무차별 대입 공격 이상하고 발음하기 어려운 모든 가능한 입력을 시도하는 것을 의미합니다. AAA..AAAAZZZ..ZZZZ (또는 0000..000000FFFF..FFFFFF XNUMX진수 바이트 단위로 생각한다면).

무엇을해야 하는가?

Slack은 다음과 같이 말합니다. 사용자 1명 중 200명 (0.5%, 아마도 위험 기간에 생성된 공유 초대 링크의 수에 대한 기록을 기반으로 함), 해당 사용자는 비밀번호를 재설정해야 합니다.

몇 가지 추가 조언:

  • Slack 사용자라면 회사에서 알리지 않았더라도 비밀번호를 재설정하는 것이 좋습니다. 회사가 해시 유출로 인해 비밀번호 데이터베이스를 부주의하게 관리했다는 사실을 인정하면 회사에서는 그렇지 않다고 생각하더라도 귀하의 비밀번호 데이터베이스가 영향을 받았다고 가정하는 것이 좋습니다. 비밀번호를 변경하자마자 공격자가 이전 해시를 쓸모없게 만드는 것입니다.
  • 암호 관리자를 사용하지 않는 경우 암호 관리자를 사용하는 것이 좋습니다. 비밀번호 관리자는 다음을 도와줍니다. 적절한 비밀번호 선택, 따라서 비밀번호가 이와 같은 사건에서 금이 갈 수 있는 비밀번호 목록의 맨 아래에 있도록 합니다. 공격자는 시도할 수 있는 암호가 너무 많기 때문에 일반적으로 진정한 무차별 대입 공격을 수행할 수 없습니다. 따라서 그들은 단어 또는 명백한 단어와 숫자 조합과 같이 가장 가능성이 높은 암호를 먼저 시도하고 공격이 진행됨에 따라 점점 더 복잡해집니다. 암호 관리자는 고양이 이름을 기억하는 것처럼 쉽게 20자의 임의 암호를 기억할 수 있습니다.
  • 가능하면 2FA를 켜십시오. 2FA 또는 이중 인증, 로그인할 때 비밀번호뿐만 아니라 매번 변경되는 일회성 코드도 필요하다는 의미입니다. 이러한 코드는 일반적으로 휴대폰으로 전송(또는 생성)되며 각각 몇 분 동안만 유효합니다. 즉, 사이버 범죄자가 귀하의 비밀번호를 해독하더라도 귀하의 계정을 탈취하는 것만으로는 충분하지 않습니다.
  • 암호를 직접 처리할 때 평판이 좋은 salt-hash-and-stretch 알고리즘을 선택하십시오.. 귀하의 비밀번호 데이터베이스가 침해되는 불행한 상황에서 귀하는 고객에게 사용한 알고리즘 및 보안 설정에 대한 정확한 세부 정보를 제공할 수 있습니다. 이것은 정보를 잘 알고 있는 사용자가 지금까지 공격자가 사용할 수 있는 시간 내에 도난당한 해시가 크랙되었을 가능성을 스스로 판단하는 데 도움이 됩니다.

타임 스탬프 :

더보기 노출 된 보안