본문 바로가기
웹 해킹

Ch 03 인증 기술과 접근 통제

by plum06 2023. 1. 18.

*잘못된 부분이 있을 경우 댓글로 알려주신다면 감사하겠습니다!

 

 

인증 방법

사람들은 인가되지 않은 사람들로부터 중요한 정보나 재산을 보호하기 위해 여러 종류의 인증 방법을 사용했습니다. 인증 방법은 다음과 같이 나누어집니다. 

 

1. 알고 있는 것

: 사용자가 알고 있는 정보를 가지고 인증하는 방식입니다. 이와 같은 경우 사용자를 제외한 다른 사람들은 알지 못해야 한다는 것이 전제 조건입니다

  • 패스워드 : 웹에서 가장 자주 쓰이는 경우로 먼저 떠오르는 것은 회원 로그인입니다. 이메일 주소와 비밀번호를 입력하고 가입했을 때와 동일하면 로그인에 성공합니다. 그런데 만약 누군가가 자신의 비밀번호를 알게 된다면...? 계정이 유출되는 위험이 생길 수 있습니다.
  • 주민등록번호 : 주민등록번호는 생년월일, 성별, 태어난 지역, 출생신고 순서, 오류 검증 번호로 구성됩니다. 개인정보보호법 개정안이 마련되기 전까지는 주민등록번호로 은행계좌를 개설하거나 회원가입을 할 수 있었다고 합니다. 만약 주민등록번호가 노출된다면 신상 정보가 다 드러날 수 있으니 위험합니다.
  • i-PIN : 주민등록번호가 노출되면서 신분도용, 사기전화 등 범죄로 이어지는 일들이 최근에도 계속 벌어지고 있습니다. 예전부터 지속되는 주민등록 번호 유출 사고로 정부는 주민등록번호를 입력하지 않아도 웹 서비스를 이용할 수 있게 개개인을 식별하는 별도의 식별번호의 필요성을 느꼈습니다. 그래서 생긴 것이 i-PIN(internet Personal Identificaton Number)입니다. 그러나 발급 절차가 복잡하다는 것과 해킹으로 인한 부정 발급 사고, 새로운 인증 방법으로 인해 i-PIN 사용률이 점차 줄어들었습니다.   

참고) https://www.inews24.com/view/1062362

 

2. 가지고 있는 것 : 별도의 '도구'를 사용해서 인증하는 방식입니다.

  • 스마트 카드: ic 카드 칩이 내장되어 있는데 개인 식별 가능한 코드, 현금카드 등의 정보가 입력되어 있습니다. 전자여권이 그 예시입니다.
  • 간편 인증: 스마트폰 보급율이 높아짐에 따라 스마트폰을 활용한 간편 인증 방식이 많이 개발되었습니다. 간편 인증을 제공하는 앱, 서비스로 카카오톡, PAYCO, PASS 등이 있습니다.

3. 인증하려는 사용자 그 자체

: 인증 대상 그 자체로 인증하는 방법입니다.

  • 생체 인증: 사람이 태어나면서부터 가지는 고유 정보를 사용하여 인증하는 것입니다. 개인마다 다르기 때문에 대체하거나 모방하기 어렵다는 특징이 있습니다. 지문, 홍채, 얼굴, DNA, 목소리, 망막을 활용합니다. 애플에서 얼굴을 가지고 인증하는 FaceID, 앱 내에서 로그인 할 때 사용되는 지문 인식처럼 모바일에서는 생체 인증이 많이 활용되고 있습니다. 그러나 웹 애플리케이션에서는 보편화*가 되지 않았습니다.

참고) *월드와이드웹컨소시엄(W3C)가 FIDO 얼라이언스와 공동 개발을 진행한 암호 없는 새로운 웹 인증 API인 WebAuthn*을 정식으로 권고. FIDO2*(PC와 웹 환경 중심) 표준화 발표.

*WebAuthn을 지원하는 웹사이트에 로그인할 경우 브라우저에서 PC 혹은 스마트폰에 사용자 신원 증명을 요구. 스마트폰의 지문 리더 등은 신뢰되는 인증자이기 때문에 웹사이트에 지문 데이터를 저장하지 않음(현재는 사이트에 암호 저장 방식). 다양한 생체인증 수단을 활용한 인증정보를 개인 소유 디바이스에 저장. 즉, 인증을 개인 소유 디바이스에서 하고 서버에 세션 값을 전달하는 것.

*FIDO : 현재의 아이디, 비밀번호 방식 대신 지문 인식, 홍채 인식 혹은 얼굴 인식 등의 다양한 생체 인식 기반의 새로운 인증 시스템. 공개키 암호 기술을 기반으로 함. 사용자가 인증하기 위해서 별도의 장치 필요.

사용자 디바이스 인증기법을 온라인 서비스와 연동해서 사용자를 인증하는 기술인 UAF(Universal Authentication Framework)와 기존 패스워드를 사용하는 온라인 서비스에서 2번째 인증요소로 강한 인증을 사용자 로그인 시에 추가할 수 있는 기술인 U2F*(Universal 2nd Factor) 두 가지로 구성됨. FIDO1은 모바일 환경 중심.

*U2F 예시 : 암호화된 개인키를 넣은 USB를 인증이 필요할 때마다 사용

 

https://www.youtube.com/watch?v=elAHAt95QQk

https://www.itworld.co.kr/tags/73815/WebAuthn/118457

https://techrecipe.co.kr/posts/6479

www.press9.kr/news/articleView.html?idxno=35522

https://fido.kica.co.kr 

https://www.comworld.co.kr/news/articleView.html?idxno=49477 

 

  • 행위 기반: 사용자의 고유행동패턴을 분석하여 본인인 것을 확인하는 행동기반인증 기술이 있습니다. 사람마다 가지는 습관이 있습니다. 개인마다 미세하게 차이가 나기 때문에 다른 사람이 이를 따라한다 해도 무리일 것입니다. 스마트폰 자판을 입력하는 속도가 얼마나 빠른지, 스크린 보는 기울기는 어떻게 되는지 등 인증 시에 기기에서 보는 기준이 있습니다. 이에 따라 평가해서 점수를 매기고 기준점에 미치지 못했다면 인증에 실패하게 됩니다. 행위 기반 인증 시스템을 개발하는 회사로 BehabioSec이 있습니다. 이러한 기술 말고도 서명을 하거나 키를 누르는 것도 예시로 들 수 있습니다.

참고) https://m.blog.naver.com/with_msip/221061090590

https://www.etnews.com/20190327000117

 

4. 위치하는 곳

: 인증을 시도하고 있는 곳을 이용한 방법입니다. 가장 흔한 경우는 IP 주소를 기반한 시스템 접근 통제입니다. 네이버를 예시로 들면 해외에서 로그인을 시도할 경우 사용자의 정보를 물어보는 방식으로 다시 한 번 확인하여 불법으로 사용되고 있는 것인지 아닌지를 판단합니다.

엘핀에서 개발한 통신사 기지국을 이용한 위치 기반 인증 서비스도 있습니다. 이동통신 기지국 신호, 고유 위치 정보, 와이파이 등을 복합적으로 활용해 본인 확인을 진행합니다. 어떤 앱을 사용할 때 특정 장소를 등록하면 그 장소에서 앱을 이용할 경우 별도의 인증 과정이 필요가 없습니다. 그 장소에 있는 것 자체로 '인증된 것'입니다.

참고) https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=dcampdev&logNo=221982711931 

https://cjnews.cj.net/인터뷰-위치만으로-인증-끝-복잡한-인증은-이제-안녕/

 

 

인증의 취약점

1. 패스워드 설정의 취약점을 노린 공격 : 쉽게 추론 가능한 간단한 비밀번호로 설정했을 경우 공격자가 간단하게 애플리케이션 장악할 수 있습니다. 다음은 NordPass와 SplashData에서 발표한 사람들이 가장 많이 사용하는 비밀번호를 1위부터 10위까지를 나타낸 사진과 표입니다. 매년 완전히는 아니지만 순위권에 들어오는 것들 중 겹치는 비밀번호들이 있습니다. 

 

NordPass에서 발표한 2019-2021 자주 사용되는 비밀번호 top 200 중 상위 10개 사진

 

2022년도 NordPass SplashData
1 password 123456
2 123456 123456789
3 123456789 qwerty
4 guest password
5 qwerty 1234567
6 12345678 12345678
7 111111 12345
8 12345 iloveyou
9 col123456 111111
10 123123 123123

출처) https://nordpass.com/most-common-passwords-list/

https://www.emcrc.co.uk/post/most-common-passwords-of-the-year-revealed-is-yours-on-the-list

 

참고) 유출된 데이터를 가지고 어떤 비밀번호가 취약한지를 조사해서 통계를 냄. 사람들은 다시 기억하기 쉬운 비밀번호를 생성하는 경향 존재. 또한 NordPass 홈페이지 글에 따르면 매년 동일한 패턴의 비밀번호가 있음. 영화, 음식, 비디오 게임, 스포츠, 패션 브랜드 등에 관련지어 짓는 경우에 해당.

https://cybernews.com/best-password-managers/most-common-passwords/

 

2. 패스워드 찾기 기능 설계상 취약점을 노린 공격 : 패스워드를 잊어서 패스워드 찾기 기능을 이용하는 경우가 있습니다. 그런데 만약 이 기능에서 메일, 문자 등의 다른 인증을 요구하지 않고 사용자 화면에서 바로 표출한다면? 패스워드 찾기 질문 항목이 매우 단순하다면? 공격자의 타깃이 되기 쉬울 것입니다.

 

 

접근 통제

: 보안정책에 따라, 접근객체(시스템 자원, 통신자원 등)에 대한 접근주체(사용자, 프로세스 등)의 접근권한 확인 및 이를 기반으로 한 접근제어를 통해 자원에 대한 비인가된 사용을 방지하는 정보보호 기능입니다. 인가되지 않은 사용자로부터 중요한 정보 자산을 보호하는 데에 필요합니다.

출처) word.tta.or.kr/dictionary/dictionaryView.do?subject=접근통제

 

  • 수직적 접근 통제 : 특정 정보에 대한 접근 권한을 수준별로 상이하게 설계한 통제를 뜻합니다. 일반 사용자와 관리자의 차이처럼 이용하는 사람이 누구인지에 따라 허용되는 권한이 다른 것입니다. 관리자를 위한 인증 수단과 접근 통제를 통해 일반 사용자가 접근할 수 없도록 합니다.
  • 수평적 접근 통제 : 웹 애플리케이션 내에 여러 사용자가 존재할 때 상대방의 정보를 볼 수 없도록 통제하는 것을 의미합니다. 인터넷 뱅킹이나 이메일을 예시로 들 수 있습니다. 웹 메일을 사용하는 사람은 많고 사용자에 따른 권한 차이도 없지만 서로가 서로의 정보를 알 수 없습니다. 관리자 입장에서는 수직적 접근 통제를 더 의식하기 때문에 수평적 접근 통제를 소홀히 여기는 경우가 있다고 합니다. URL에 노출되는 자신의 식별 코드를 다른 사람의 것으로 변경하거나 쿠키 또는 세션 값을 다른 사람의 것으로 대체하는 공격을 받을 수 있습니다.
  • 비즈니스 로직 접근 통제 : 수직적, 수평적 접근 통제와 다르게 사용자 권한에 종속되지 않고 민감하거나 중요한 자원에 대한 접근과 관련된 것입니다. 예시로 일반 사용자가 관리자 권한을 전부 획득하지 못했더라도 관리자만 접근할 수 있는 메뉴에 접근하는 경우입니다. 웹 애플리케이션 설치 시 기본 설정 파일도 있는데 이를 삭제하지 않고 그대로 두면 위험할 수도 있습니다. 해당 파일에 데이터베이스에 접근할 수 있는 아이디, 패스워드 등이 들어가 있어서 URL에 노출되면 큰일이 벌어질 수 있습니다.

'웹 해킹' 카테고리의 다른 글

Ch 04 SQL 인젝션 공격  (0) 2023.01.25
Ch03 인증 기술과 접근 통제(실습)  (0) 2023.01.18
Ch 02 웹 해킹의 기초(실습)  (0) 2023.01.11
Ch 02 웹 해킹의 기초  (0) 2023.01.11
Ch 01 인터넷과 웹의 이해(실습)  (1) 2023.01.04