서버는 클라이언트의 상태를 보존하지 않는다. 클라이언트 요청에 서버가 응답하면 연결을 끊는다.
클라이언트는 서버가 요청을 이해하고 응답하는데 필요한 모든 정보를 제공해야 한다.
→ HTTP 환경에서 클라이언트의 상태와 정보를 기억해야 할 때 쿠키, 세션 등을 사용한다.
장점 : 클라이언트는 서버가 무엇이든 동일한 방식으로 요청 가능하다. (요청 안에 상태가 모두 들어가기 때문)
1994년 넷스케이프에서 쿠키(cookie)라는 기술을 개발했다.
쿠키란 인터넷 사용자가 어떤 웹사이트를 방문할 경우, 그 사이트가 사용하는 서버를 통해 클라이언트(사용자의 컴퓨터)에 설치되는 브라우저 기록 정보 파일
쿠키에는 별도의 삭제 기능이 없다. 만료일을 지정하여 만료일이 되면 제거된다.
액티브 콘텐츠(active contents)란, 액티브 엑스 컨트롤 또는 스크립트 코드로 구성되며 웹 페이지 내에 포함되어 배포되고 클라이언트 컴퓨터 내에 설치되어 동적으로 작동하는 콘텐츠이다.
자바 소스 코드는 컴파일되어 바이트코드 파일(실행파일)을 생성한 뒤 브라우저로 보내져 해석된다.
자바스크립트는 실행파일을 생성하지 않고 런타임에 코드를 해석하고 실행하는 인터프리터 언어이다.
오늘날 대부분 웹페이지에서는 자바스크립트가 포함되어 있고, 다른 프로그래밍 언어와 콘텐츠도 브라우저 자체 코드 또는 어도비 플래시 등의 플러그인을 통해 처리된다.
플러그인은 컴파일된 코드로, 브라우저에서 제공하는 API를 사용하여 브라우저의 일부로 실행된다.
(EX. Adobe Reader, Adobe Flash : 보안 문제有)
브라우저에서 플러그인을 사용하는 것은 브라우저에서 사용자 요청에 더 빨리 응답한다.
단, 이 경우 제3자가 작성한 확장 프로그램을 실행해야 하는데 출처를 모르는 경우 해킹이나 다른 위험이 많다.
액티브 콘텐츠는 웹페이지가 아닌 곳에서도 사용할 수 있다.
이메일 액티브 콘텐츠 공격
메일 열람시 HTML 기능이 있는 이메일 클라이언트나 웹브라우저를 사용하는 이용자를 대상으로 공격하는 기법을 의미한다.
이메일의 경우 메일에 다른 콘텐츠가 들어있을 때 프라이버시 보호를 위해 메일 내부를 철저하게 검증할 수 없다. 이를 악용하여 스크립트 기능 통해 피해자의 컴퓨터에서 정보를 유출하거나 악성 프로그램을 실행시키게 된다.
문서, 스프레드시트, 자바스크립트 파일, 링크 등, 문서를 클릭하는 순간 내부에 있던 바이러스가 전파될 수 있기 때문에 위험성이 높다.
(e-mail 클라이언트 프로그램의 버그나 시스템의 버그를 이용하는 것이 아니기 때문에 보안 패치로써 해결하지 못한다.)
액티브 콘텐츠 공격 대응 방법
1일 1로그 100일 완성 IT 지식 (저자. 브라이언 W.커니핸)