[SK쉴더스 Rookies 19기] 클라우드 기반 스마트 융합보안 과정
01. 크로스 사이트 요청 위조 (CSRF)
: 요청을 전달 받은 서버가 요청의 절차와 주체를 검증하지 않고 요청을 처리했을 때 발생
→ 희생자의 권한으로 공격자의 의도된 요청이 처리되는 문제가 발생 (희생자는 인지못함)
ex. 자동 회원가입, 자동 글쓰기 ⋯
게시글에 <iframe src="ChangePasswordProc?newpw=1234&newpwre=1234" width="0" height="0"></iframe>와 같이 크기를 0으로 두어 안보이게 하고 비밀번호를 바꾸는 태그를 적어주면, 해당 게시글을 읽게 되면 비밀번호가 변경된다
특히나 get방식을 사용할 경우, 원하는 공격 요청을 만들기가 쉬움
↔ XSS와 차이점
xss는 취약한 서버에서 전달된 공격 스크립트가 사용자 측에서 실행됨 (server to client)
csrf는 희생자가 서버로 요청을 발생시키게 하는 것 (client to server)
02. 방어
- 토큰 (text)
선행 페이지가 호출되었을 때 서버 사이드에서 토큰을 생성하고 세션에 저장 → 사용자 화면에 전달 → 서버가 가지고 있는 값과 사용자 요청을 통해서 전달된 값을 비교하고 일치하는 경우에만 정상적인 절차를 통한 요청으로 확인하고 처리
하지만 선행 페이지를 호출하고 넘어가게 코드를 짤 수 있음..
- 캡챠(CAPTCHA)
기계는 인식할 수 없으나 사람은 쉽게 인식할 수 있는 텍스트, 이미지를 통해 사람과 기계를 구별하는 프로그램
텍스트 기반 토큰의 자동화 처리가 가능한 문제점을 해결하기 위해 등장--
사용자가 중간에 입력을 하게 만들어서 자동화된 요청을 막음!
- reCAPTCHA
캡챠 이미지가 복잡해서 사람도 이해하기 어려워진 부분을 해결


- 재인증, 재인가
: 요청 주체를 확인하고 요청을 처리하기 위함
ex. 비밀번호 변경 시, 현재 비밀번호 재입력
인증 방법
TYPE 1 | 지식 - 패스워드 |
TYPE 2 | 소유 - 주민등록증, 인증서, 스마트폰, OTP ... |
TYPE 3 | 특징 - 필기체 서명, 정맥, 홍채, 지문, 성문 ... |
생물학적 특징 → 바이오 인증
2개 이상의 이증 방법을 결합한 인증 → multi factor 인증
2개의 인증 방법을 결합한 인증 → two factor 인증