kjh00n의 기록저장소

시스템 인증 방식 본문

시스템 보안 운영

시스템 인증 방식

kjh00n 2024. 12. 24. 10:52

Linux 로그인 과정

  • 사용자의 로그인 요청 시 로그인 서비스 (login 또는 gdm-password)가 동작하여 사용자의 이름과 암호 요구
  • 사용자 계정과 비밀번호 입력
  • 로그인 프로세스는 PAM (Pluggable Authentication Modules)을 호출하여 입력된 사용자 계정과 비밀번호 정보를 전달
  • PAM은 인증 모듈을 호출하여 사용자 인증 과정을 수행하고 그 결과를 로그인 프로세스에게 전달
  • 로그인 프로세스는 전달받은 결과에 따라서 로그인 성공 또는 실패 작업 수행

패스워드 저장 방식

● 일반적으로 운영체제나 데이터베이스에서 패스워드 저장 방식은 Hash를 이용

 

Hash 종류

 

Linux 패스워드 정보

● /etc/shadow

Hash : 평문 데이터를 Hash알고리즘을 사용해서 Hash값을 얻는다.

● 암호화는 가능, 복호화는 불가능
● 원본데이터가 같으면 hash 값도 같다
● 원본데이터의 크기와 상관없이 hash 값 크기가 동일하다

비밀번호 공격 3가지

① 무차별 대입 공격 (Brute Force Attack)

  • 설명 : 공격자는 가능한 모든 문자 조합을 시도하여 비밀번호를 맞추는 방법
  • 특징
    • 성공률은 100%지만, 비밀번호의 길이나 복잡도가 클수록 시간이 매우 오래 걸린다.
    • 현실적으로 불가능한 경우가 많다.

② 사전 대입 공격 (Dictionary Attack)

  • 설명 : 공격자는 비밀번호로 사용할 가능성이 있는 일반적인 단어들을 모은 사전 파일을 사용하여 대입
  • 특징
    • 성공률은 사전 파일의 품질과 범위에 따라 달라진다.
    • 현실적으로 공격이 가능한 방법으로, 사람들이 자주 사용하는 단어들을 예측하여 비밀번호를 추측할 수 있다.

③ 레인보우 테이블 공격 (Rainbow Table Attack)

  • 설명 : 해시 값을 미리 계산해 놓은 레인보우 테이블을 사용하여 비밀번호의 해시 값을 역추적하는 방법
  • 특징
    • 빠른 속도로 비밀번호를 찾을 수 있지만, Salt를 사용한 해시값 변형이 있으면 효과가 없다.
    • 미리 계산된 테이블을 사용하므로 무차별 대입보다 빠른 공격이다.

④ 하이브리드 공격 (Dictionary + Guessing Attack)

  • 설명 : 사전 공격보다 진화한 공격 기법, 문자열에 숫자나 심볼을 추가하여 패스워드에 대입
  • 특징
    • 공격 대상의 개인 정보 등을 충분히 알고 있다면 매우 효율적인 공격 방법
    • 모의해킹을 하는 경우 상당 수의 패스워드가 추측에 의한 사전 대입 공격에 의해 노출된다.

⑤ 사회 공학 기법  (Social Engineering)

  • 종류
    • 어깨 넘어 훔쳐보기
    • 휴지통 뒤지기

 

Salt 사용 전

기본적으로 패스워드는 Hash 알고리즘과 Hash 값으로 저장

● root와 ever 계정에 대한 패스워드가 '1234'라고 가정한 경우 두 계정 모두 동일한 Hash 값 저장

● 동일한 Hash 결과는 결과만으로 연관된 정보들을 노출시킨다는 약점이 있다.

 

Salt 사용 후

● 패스워드 Hash 값 생성 전에 랜덤한 값(Salt)을 생성하여 패스워드에 첨부한 후에 Hash 값을 생성하는 방식

● 동일한 패스워드를 이용하는 계정 별로 다른 Hash 값이 생성된다.

● 또한 같은 패스워드를 다시 생성해도 생성할 때 적용되는 Salt에 의해 Hash 값이 변경된다.

● 레인보우 테이블 공격에 대해 보호된다.

 

시스템 패스워드 취약성 점검

 

패스워드 크래킹

● 안전하지 않은 패스워드를 사용하는 계정에 대해 패스워드를 알아내는 공격 기법

● 공격자가 특정 공격을 통해 OS, Database 등에 저장되어 있는 패스워드 데이터베이스 파일을 획득하여 패스워드를 알아내기 위한 방법으로 사용

● 보안적인 의미로 패스워드에 대한 취약성 검증을 수행

 

 

'시스템 보안 운영' 카테고리의 다른 글

Linux 인증 모듈 PAM  (0) 2024.12.23
SELinux 명령어 정리  (0) 2024.12.20
SELinux  (0) 2024.12.20
접근 통제 모델  (0) 2024.12.19
Beast 실습  (0) 2024.12.19