연구실세미나_20130531_cwe307_유창훈

Download Report

Transcript 연구실세미나_20130531_cwe307_유창훈

Improper Restriction of Excessive
Authentication Attempts
System & Network Security Lab
석사 25기 유창훈
2013.5.31
목차
1.
2.
3.
4.
소개
취약코드예제
대응방법
Q&A
소개
“10번 찍어 안 넘어가는 나무 없다”
소개
코드예제
• C / C++
int validateUser(char *host, int port)
{
…
while ((isValidUser == 0)) {
if (getNextMessage(socket, username, USERNAME_SIZE) > 0) {
if (getNextMessage(socket, password, PASSWORD_SIZE) > 0){
isValidUser = AuthenticateUser(username, password);
}
}
}
대응방법
1) 로그인 시도 횟수 제한
<C / C++>
int validateUser(char *host, int port)
{
int count = 0;
while ((isValidUser == 0) && (count < MAX_ATTEMPTS)) {
if (getNextMessage(socket, username, USERNAME_SIZE) > 0) {
if (getNextMessage(socket, password, PASSWORD_SIZE) > 0){
isValidUser = AuthenticateUser(username, password);
}
}
count++;
}
}
대응방법
2) PAM을 이용한 방법
- /etc/pam.d/system-auth 를 편집
- /etc/pam.d/ssh 편집
- 아래 내용 추가
auth required /lib/security/pam_tally.so no_magic_root
account required /lib/security/pam_tally.so deny=4 rock_time=120
no_magic_root reset
- # pam_tally 라는 명령어로 실패횟수 볼수 있음
- # faillog –u 유저네임 -r 로 잠금계정 해제
대응방법
3) 일정 횟수 이상 로그인 실패 시 대상 계정 잠금
– ex> ssh
– sshd_config파일의 #MaxAuthTries=5 옵션
대응방법
4) 일정 횟수 이상 로그인 실패 시 대상 계정 잠금
– 휴리스틱방법
– 쉘 스크립트를 이용한 로그 분석.
대응방법
5) 일정 횟수 이상 로그인 실패 시 대상 계정 잠금
– 윈도우 [제어판-관리도구-로컬보안정책]
대응방법
6) 보안코드 이미지
대응방법
6) 보안코드 이미지
- php기반의 ZmSpamFree
- 제보로드 및 php 웹페이지에서 가장 많이 사용됨.
- 보안코드 이미지 생성과정
1) 랜덤한 text 생성 및 기억
2) 배경 이미지 선택
3) 배경 이미지에 text를 올려놓음
대응방법
7) 사용자에게 연산작업요구
- 보안코드 이미지와 유사함.
- 이미지에서 조금 더 발전된 형태.
-3+3 ?
Q&A
감사합니다
.