카테고리 없음

커리어넷 개인정보 유출

csi1201 2024. 8. 26. 12:15

사건 개요

2024년 8월, 대한민국의 대표적인 취업 포털 사이트인 커리어넷이 대규모 개인정보 유출 사건에 휘말렸습니다. 이번 사건으로 인해 약 160만 명의 사용자 정보가 해커들에 의해 유출되었습니다. 유출된 정보에는 사용자 이름, 암호화된 비밀번호, 연락처, 직업 관련 정보 등이 포함되어 있으며, 해커들은 MD5 해시 알고리즘을 통해 암호화된 데이터를 탈취한 것으로 추정됩니다.

 

 

해킹 경로와 방법

이번 사건은 데이터베이스 보안의 취약점을 악용한 해킹 공격으로 발생했습니다. 특히, 보안 설정의 미흡함과 약한 암호화 기법이 주요 원인으로 지적됩니다. 이로 인해 해커들은 손쉽게 데이터베이스에 접근하여 대규모 개인 정보를 탈취할 수 있었습니다. 이러한 공격으로 노출된 정보는 피싱 공격, 계정 탈취, 소셜 엔지니어링 등과 같은 2차 공격에 사용될 가능성이 높습니다.

 

 

대응 조치

커리어넷 유출 사건 이후, 한국 내 여러 취업 포털 사이트는 보안 강화를 위해 2단계 인증(2FA)을 도입하는 등의 조치를 위하고 있습니다. 이는 추가적인 인증 절차를 통해 사용자 계정을 더욱 안전하게 보호하기 위한 방책입니다.

이번 사건은 기업들이 개인정보 보호의 중요성을 다시 한 번 되새기게 하는 계기가 되었으며, 데이터 보안의 중요성이 크게 대두되었습니다. 사용자는 가능한 빠르게 자신의 비밀번호를 변경하고, 여러 사이트에서 동일한 비밀번호를 사용하는 것을 피하는 것이 필요합니다.

 

 

예방법

1. 암호화 및 해싱 기법 강화

- 암호화 강화를 위한 알고리즘 사용: MD5와 같은 약한 해시 알고리즘 대신 Bcrypt, Argon2와 같은 강력한 해싱 알고리즘을 사용해야 합니다. 이들은 고도의 연산을 요구하며, 해커가 비밀번호를 추출하는 데 훨씬 더 많은 시간이 걸리게 합니다.

 

- 1)Salt와 2)Pepper 사용: 비밀번호 해싱 시 Salt(임의 데이터)를 추가해, 동일한 비밀번호라도 서로 다른 해시값을 가지도록 해야 합니다. 또한, Pepper(고정된 비밀 키)를 추가로 사용하면 보안이 더욱 강화됩니다.

Salt와 Pepper는 비밀번호를 안전하게 저장하기 위한 보안 기법입니다. 이들은 비밀번호 해싱 과정에서 해커의 공격을 방어하기 위해 사용됩니다.

 

1)Salt

- 개념: Salt는 해싱 과정에서 비밀번호에 추가되는 고유한 임의의 데이터입니다. 동일한 비밀번호라도, 서로 다른 Salt가 적용되면 전혀 다른 해시값이 생성됩니다.

 

- 목적: 해커가 미리 계산된 해시값을 저장한 레인보우 테이블을 사용해 비밀번호를 역추적하는 공격을 방어합니다. Salt를 사용하면 레인보우 테이블이 무력화됩니다.

 

- 예시: 사용자가 비밀번호로 "password123"을 설정했다고 가정합니다. 이를 해시하기 전에, 시스템은 "abc123"과 같은 임의의 데이터를 추가해 "Password123abc123"으로 변환한 후 해시합니다. 이로 인해 동일한 비밀번호라도  각 사용자마다 다른 해시값이 생성됩니다.

 

2)Pepper

- 개념: Pepper는 비밀번호 해싱 과정에서 추가되는 또 다른 비밀 데이터입니다. 하지만 Salt와 달리, Pepper는 시스템에서 고정된 값으로 보관됩니다.

 

- 목적: 추가적인 보안 강화를 위해 사용되며, 시스템에 대한 접근 없이 공격자가 해시값을 분석해 비밀번호를 추출하는 것을 어렵게 만듭니다.

 

- 사용 방법: 일반적으로 Pepper는 전체 해싱 과정의 일부분으로 사용되며, 비밀번호에 추가되기 전에 비공개된 비밀값으로 홉합됩니다. 이 값은 시스템에 하드코딩되어 환경 변수로 저장될 수 있습니다.

 

결합의 효과

Salt와 Pepper는 서로 다른 방식으로 비밀번호 해싱을 강화합니다. Salt는 사용자의 비밀번호마다 고유의 해시값을 생성하게 하여 대규모 공격을 방지하고, Pepper는 해커가 해싱 알고리즘을 알아내더라도 해시값을 쉽게 역추적하지 못하게 합니다. 이 두 기법을 결합하면 보안이 훨씬 강화됩니다.

 

2. 다단계 인증(MFA) 적용

- 2단계 인증 도입: 비밀번호 외에도 추가적인 인증 수단(예: SMS, 인증 앱, 생체인식 등)을 도입해, 계정이 더욱 안정하게 보호될 수 있습니다.

 

- SMS 대체 수단 고려: SMS 기반 인증은 휴대폰 번호 등의 위험이 있으므로, 인증 앱(예: Google Authenticator)이나 하드웨어 키(FIDO2)를 사용하는 것이 더 안전합니다.

 

3. 보안 취약점 관리

- 정기적인 보안 패치: 운영 체제, 웹 서버, 데이터베이스의 최신 보안 패치를 신속하게 적용해, 해커가 악용할 수 있는 취약점을 최소화해야 합니다.

 

- 취약점 점검 도구 사용: 웹 애플리케이션 방화볍(WAF) 및 정적 분석 도구를 사용해 코드와 시스템의 보안 상태를 지속적으로 모니터링하고, 발견된 취약점은 즉시 수정합니다.

 

4. 최소 권한 원칙 적용

- 권한 관리: 모든 사용자와 시스템에 대해 최소한의 권한만 부여해, 유출 시 피해를 최소화해야 합니다. 중요 데이터에 접근할 수 있는 계정은 최소화하고, 그들의 활동을 모니터링합니다.

 

- 불필요한 데이터 삭제: 수집하지 않아도 되는 데이터는 수집하지 않으며, 보관하지 않아도 되는 데이터는 주기적으로 삭제합니다.

 

5. 사용자 및 직원 교육

- 피싱 및 사회공학 공격 예방 교육: 피싱 이메일 식별법, 안전한 비밀번호 생성법, 소셜 엔지니어링 공격에 대한 대응법 등 보안 관련 교육을 정기적으로 실시해야 합니다.

 

- 사이버 보안 인식 프로그램: 전 직원과 사용자를 대상으로 사이버 보안 인식을 높이는 프로그램을 운영해, 보안 위협에 대한 경각심을 높입니다.

 

 

결론

커리어넥 개인정보 유출 사건은 보안의 중요성을 다시 한번 상기시키는 사건입니다. 이러한 해킹 사고를 예방하기 위해서는기업과 개인 모두가 보안 의식을 높이고, 지속적인 보안 업데이트와 다중 인증 절차를 도입하는 것이 필수적입니다.