[CS스터디] 쿠키, 액티브 콘텐츠

G-NOTE·2022년 8월 5일
0

항해99

목록 보기
22/36

쿠키를 삭제하시겠습니까?

HTTP는 stateless

서버는 클라이언트의 상태를 보존하지 않는다. 클라이언트 요청에 서버가 응답하면 연결을 끊는다.
클라이언트는 서버가 요청을 이해하고 응답하는데 필요한 모든 정보를 제공해야 한다.
→ HTTP 환경에서 클라이언트의 상태와 정보를 기억해야 할 때 쿠키, 세션 등을 사용한다.

장점 : 클라이언트는 서버가 무엇이든 동일한 방식으로 요청 가능하다. (요청 안에 상태가 모두 들어가기 때문)

  • stateful → 서버는 클라이언트의 통신상태 저장 / 클라이언트의 상태가 서버에 종속적
  • stateless → 서버 확장에 유리하다.

1994년 넷스케이프에서 쿠키(cookie)라는 기술을 개발했다.
쿠키란 인터넷 사용자가 어떤 웹사이트를 방문할 경우, 그 사이트가 사용하는 서버를 통해 클라이언트(사용자의 컴퓨터)에 설치되는 브라우저 기록 정보 파일

쿠키 사용 방식

  1. 클라이언트가 서버에 웹페이지 요청한다.
  2. 서버에서 쿠키를 생성한다.
  3. HTTP 헤더에 쿠키를 포함시켜 응답한다.
  4. 브라우저가 종료되어도 만료 기간이 지나지 않으면 클라이언트에서 쿠키를 보관한다.
  5. 같은 요청 시 HTTP 헤더에 쿠키를 함께 보낸다.
  6. 서버에서 쿠키를 읽어 이전 상태 정보를 변경할 필요가 있는 경우 쿠키를 업데이트하여 변경된 쿠키를 HTTP 헤더에 포함시켜 응답한다.

쿠키 만료 기간

쿠키에는 별도의 삭제 기능이 없다. 만료일을 지정하여 만료일이 되면 제거된다.

어도비 플래시는 왜 퇴출됐을까?

액티브 콘텐츠(active contents)란, 액티브 엑스 컨트롤 또는 스크립트 코드로 구성되며 웹 페이지 내에 포함되어 배포되고 클라이언트 컴퓨터 내에 설치되어 동적으로 작동하는 콘텐츠이다.

Java vs. JavaScript

자바 소스 코드는 컴파일되어 바이트코드 파일(실행파일)을 생성한 뒤 브라우저로 보내져 해석된다.
자바스크립트는 실행파일을 생성하지 않고 런타임에 코드를 해석하고 실행하는 인터프리터 언어이다.

오늘날 대부분 웹페이지에서는 자바스크립트가 포함되어 있고, 다른 프로그래밍 언어와 콘텐츠도 브라우저 자체 코드 또는 어도비 플래시 등의 플러그인을 통해 처리된다.

플러그인은 컴파일된 코드로, 브라우저에서 제공하는 API를 사용하여 브라우저의 일부로 실행된다.
(EX. Adobe Reader, Adobe Flash : 보안 문제有)

브라우저에서 플러그인을 사용하는 것은 브라우저에서 사용자 요청에 더 빨리 응답한다.
단, 이 경우 제3자가 작성한 확장 프로그램을 실행해야 하는데 출처를 모르는 경우 해킹이나 다른 위험이 많다.

이메일 첨부파일을 함부로 클릭하면 안 되는 이유

액티브 콘텐츠는 웹페이지가 아닌 곳에서도 사용할 수 있다.

이메일 액티브 콘텐츠 공격
메일 열람시 HTML 기능이 있는 이메일 클라이언트나 웹브라우저를 사용하는 이용자를 대상으로 공격하는 기법을 의미한다.
이메일의 경우 메일에 다른 콘텐츠가 들어있을 때 프라이버시 보호를 위해 메일 내부를 철저하게 검증할 수 없다. 이를 악용하여 스크립트 기능 통해 피해자의 컴퓨터에서 정보를 유출하거나 악성 프로그램을 실행시키게 된다.
문서, 스프레드시트, 자바스크립트 파일, 링크 등, 문서를 클릭하는 순간 내부에 있던 바이러스가 전파될 수 있기 때문에 위험성이 높다.
(e-mail 클라이언트 프로그램의 버그나 시스템의 버그를 이용하는 것이 아니기 때문에 보안 패치로써 해결하지 못한다.)

액티브 콘텐츠 공격 대응 방법

  • E-mail 클라이언트의 스크립팅 기능을 사용하지 않도록 설정한다.
  • 메일 서버에서 메일이 저장될 때 이러한 스크립트 태그를 다른 이름으로 바꿔서 저장하여 사용자가 메일을 읽을 때 메일 클라이언트는 스크립트를 해석하지 못하게 한다.

참조

1일 1로그 100일 완성 IT 지식 (저자. 브라이언 W.커니핸)

profile
FE Developer

0개의 댓글