로그인

  • 목록
  • 아래로
  • 위로
  • 쓰기
  • 검색

정보&강의 라이믹스 로그인시 비밀번호 대입 해킹에 대한 기술적 분석 및 대응

첨부 2

  1. image.png (File Size: 49.0KB/Download: 0)
  2. image.png (File Size: 28.0KB/Download: 0)

로그인 실패 기록을 알려드립니다.
등록일: 2024-02-15 05:09:49am
IP 주소: 191.101.126.27
message: 아이디 또는 비밀번호가 일치하지 않습니다.
등록일: 2024-02-15 05:09:56am
IP 주소: 191.101.126.58
message: 아이디 또는 비밀번호가 일치하지 않습니다.
등록일: 2024-02-15 05:10:11am
IP 주소: 191.101.126.42
message: 아이디 또는 비밀번호가 일치하지 않습니다.

 

라이믹스에는 로그인 비밀번호 무차별 대입에 대해서 서버단에서의 아이피 차단을 하도록 안내하고 있습니다.

하지만 라이믹스 자체에서 이런 관리를 할 수 있다면 좋겠다는 생각을 하게 되네요.

 

다행히도 자체적으로 로그인 실패기록이 존재하기 때문에 이를 통해서 아이피를 차단할 수 있는 기능도 제공할 수 있을 것 같습니다.

 

해당 로그가 기록되는 테이블은 member_count_history 입니다.

 

 

image.png

 

 

해당 테이블에는 로그인을 시도했던 member_srl 과 실패 형태를 content에 기록하고 있는데, 이때 아이디와 비밀번호를 모두 실패하거나 관리자 권한에 대한 로그인 실패 사례를 뽑아 아이디를 차단하려고 합니다.

 

sql 문을 통해서 아래와 같이 쿼리를 작성할 수 있습니다.

 

 

SELECT content FROM `xe_member_count_history` WHERE `content` LIKE '%또는%';

 

content 필드만을 뽑은 이유는 속도 문제와 content 에 배열형태로 접속 ip가 포함되어 있기 때문입니다.

 

'또는'이라는 키워드는 '아이디 또는 비밀번호가 틀립니다.', '이메일 또는 비밀번호가 틀립니다.'의 두 가지 경우를 모두 체크하기 위한 키워드 입니다.

 

해당 쿼리를 통해 얻게되는 정보는 아래의 형태를 취합니다.

 

a:14:{i:0;a:3:{i:0;s:15:"175.204.176.162";i:1;s:32:"잘못된 비밀번호입니다.";i:2;i:1509313232;}i:1;a:3:{i:0;s:15:"175.204.176.162";i:1;s:32:"잘못된 비밀번호입니다.";i:2;i:1509313258;}i:2;a:3:{i:0;s:15:"175.204.176.162";i:1;s:32:"잘못된 비밀번호입니다.";i:2;i:1509313288;}i:3;a:3:{i:0;s:15:"175.204.176.162";i:1;s:32:"잘못된 비밀번호입니다.";i:2;i:1509313360;}i:4;a:3:{i:0;s:15:"175.204.176.162";i:1;s:32:"잘못된 비밀번호입니다.";i:2;i:1546394268;}i:5;a:3:{i:0;s:15:"175.204.176.162";i:1;s:32:"잘못된 비밀번호입니다.";i:2;i:1546394275;}i:6;a:3:{i:0;s:15:"175.204.176.162";i:1;s:32:"잘못된 비밀번호입니다.";i:2;i:1546394281;}i:7;a:3:{i:0;s:15:"175.204.176.162";i:1;s:32:"잘못된 비밀번호입니다.";i:2;i:1546394286;}i:8;a:3:{i:0;s:15:"175.204.176.162";i:1;s:32:"잘못된 비밀번호입니다.";i:2;i:1546394294;}i:9;a:3:{i:0;s:15:"175.204.176.162";i:1;s:32:"잘못된 비밀번호입니다.";i:2;i:1546394305;}i:10;a:3:{i:0;s:15:"175.204.176.162";i:1;s:32:"잘못된 비밀번호입니다.";i:2;i:1546394339;}i:11;a:3:{i:0;s:15:"175.204.176.227";i:1;s:59:"아이디 또는 비밀번호가 일치하지 않습니다.";i:2;i:1707896198;}i:12;a:3:{i:0;s:15:"175.204.176.227";i:1;s:59:"아이디 또는 비밀번호가 일치하지 않습니다.";i:2;i:1707896223;}i:13;a:3:{i:0;s:15:"175.204.176.227";i:1;s:59:"아이디 또는 비밀번호가 일치하지 않습니다.";i:2;i:1707896242;}}

 

image.png

 

member_srl 을 main key로 설정하였기 때문에 중복될 수 없고, 각 고유 member_srl 에 해당되는 로그인 실패 기록을 누적하여 보관할 수 있게 됩니다.

 

이런 내용을 활용하면, 다양하게 응용이 가능한 애드온이 개발될 수 있을 것으로 생각됩니다.

 

앞서 언급한 정보를 토대로 한, 아이피 차단 알고리즘은 다음과 같습니다.

 

1. member_count_history의 last_update 필드를 기준으로 새로 등록된 로그인 실패 정보를 분석합니다.

2. 아이디와 비밀번호, 이메일과 비밀번호를 동시에 틀리도록 접속한 경우 아이피를 차단하고 안내 페이지로 전환시킵니다.

3. 안내페이지에는 비밀번호 변경에 대한 보안경고 문구를 표시합니다

4. 해당 아이피에서는 항상 이 경고문을 보게 됩니다.

 

 

 


이런 글도 찾아보세요!

공유

facebooktwitterpinterestbandkakao story
퍼머링크

댓글 0

권한이 없습니다. 로그인

신고

"님의 댓글"

이 댓글을 신고 하시겠습니까?

삭제

"님의 댓글"

이 댓글을 삭제하시겠습니까?