-
11일차 - 웹 공격 기술 (2)CS지식/네트워크 2021. 5. 17. 22:51
1. 강제 브라우징 (Forced Browsing)
강제 브라우징은 웹 서버의 디렉토리에 있는 파일 중에서 공개 의도가 없는 파일이 열람되게 되어 공격에 노출되는 것입니다.
즉, 공격자가 공격 코드로 직접 공격하거나 함정을 걸어두어 정보를 빼내는 것이 아니라 웹 서버를 잘못 설정하거나 설계하여 발생하는 문제이다.
강제 브라우징으로 인해 다음과 같은 악영향을 받는다.
- 고객 정보 등 중요 정보 누설
- 접근 권한이 있는 사용자에게만 표시하지 않는 정보 누설
- 링크되지 않은 파일 누설
공개하고 싶지 않은 파일의 URL을 숨기는 보안 대책을 사용하고 있는 경우, 해당 URL을 알게 되면 파일을 볼 수 있게 된다.
2. 세션 하이잭 (Session Hijack)
세션 하이잭은 공격자가 유저의 세션 ID를 입수해서 악용하는 것으로 유저로 위장하는 공격이다.
클라이언트에서는 쿠키 등에 세션 ID를 기록하고 서버에서는 세션 ID와 인증 상태 등을 연동해서 관리한다.
이러한 환경에서 공격자가 세션 ID를 입수하는 방법은
부적절한 생성 방법에 의한 세션 ID 추측, 도청이나 XSS 등에 의한 세션 ID 도용, 세션 고정 공격에 의한 세션 ID 강제가 있다.
3. 패스워드 크래킹 (Password Cracking)
패스워드 크래킹은 공격자가 패스워드를 논리적으로 이끌어내서 인증을 성공시키는 공격이다.
패스워드 크래킹은 2가지 방법이 존재한다.
1) 네트워크 경유로 패스워드 시행
웹 애플리케이션이 제공하는 인증 기능을 네트워크 경유로 패스워드 후보를 시험해 보는 공격으로 무차별 대입 공격과 사전 공격이 있다.
- 무차별 대입 공격: 모든 키가 존재하는 집합 키 공간, 즉 비밀번호 시스템에서 취약할 수 있는 모든 패스워드 후보를 시험해서 인증을 돌파하는 공격이다. 예를 들어, 패스워드가 4가지 숫자라면 0000~9999까지 모든 가능한 경우를 다 대입해보면서 패스워트를 알아내는 것이다.
- 사전 공격: 미리 패스워드 후보를 준비해서 후보군을 통해 시험해보며 인증을 뚫는 공격이다.
예를 들어, 숫자 4자리를 사용하는 패스워드의 경우 생일과 같은 의미있고 기억하기 쉬운 번호로 했을 가능성이 크므로 이러한 후보군을 미리 생각하여 인증을 시도해보는 것이다.
2) 암호화된 패스워드를 해독
패스워드를 보관하고 있는 경우에 패스워드 그대로 보존하지 않고 해시 함수를 사용하거나 salt 등의 방법으로 암호화를 한다. 공격자는 암호화 된 데이터로부터 패스워드를 도출하는 방법은 다음과 같다.
- 무차별 대입 공격/ 사전 공격에 의한 유추: 위에서 설명한 무차별 대입 공격과 사전 공격과 같이 모든 가능성 있는 해시함수를 대입해보거나 후보군을 설정하여 계속해서 시험해보면서 패스워드를 얻어내는 것이다.
- 레인보우 테이블: 패스워드 원본과 그에 대응하는 해시 값으로 구성된 데이터베이스 테이블이다. 레인보우 테이블을 이용하여 해시 값을 검색해 이에 맞는 패스워드 원본을 찾아내는 것이다.
- 열쇠 입수: 패스워드가 공통키 암호 등으로 암호화 되었다면 암호화에 사용된 키를 입수하여 패스워드를 알아내는 것이다.
4. DoS 공격 (Denial of Service attack)
DoS 공격은 서비스 제공을 정지 상태로 만드는 공격으로 서버에 매우 많은 액세스를 집중시켜 부하를 걸어 리소스를 다 소비하게 만들어 서비스를 정지 상태로 만들거나 취약한 부분을 공격하여 서비스를 정지시키는 것이다.
액세스를 집중시키는 DoS 공격은 공격을 시도하는 액세스와 유저가 정상적으로 보내는 액세스와 구별하기 힘들어 예방하기 힘들다.
DoS 공격을 더 확장시켜보면 여러 대의 컴퓨터에서 실행한는 DoS 공격을 DDoS 공격이라고 한다.
DDoS 공격은 공격자에 의해서 바이러스 등에 감염된 컴퓨터가 공격에 이용되는 경우로 실제 공격자가 직접 공격하는 것이 아니라 공격 의도가 없는 유저의 컴퓨터들을 조종하여 공격하는 방법이다.
'CS지식 > 네트워크' 카테고리의 다른 글
HTTP 메세지란 무엇인가 (0) 2021.05.24 URL은 무엇인가 (HTTP완벽 가이드 공부 시작!!) (0) 2021.05.21 10일차 - 웹 공격 기술 (1) (0) 2021.05.14 9일차 - 웹 콘텐츠에서 사용하는 기술 (0) 2021.05.11 8일차 - HTTP에 기능을 추가한 프로토콜 (0) 2021.05.08