본문 바로가기

Book

웹 개발자를 위한 웹 보안: 1장 요약 - 웹사이트를 해킹하다

728x90

 

 

월드 와이드 웹(World Wide Web)이 유럽원자핵공동연구소에서 팀 버너스 리에 의해 만들어지면서, 데이터를 공유하는 수단으로 이용되었다. 최초의 웹 브라우저와 최초의 웹 서버를 만들어 HTML과 HTTP를 발명했다.

 

초기의 웹 페이지는 텍스트 전용으로, 대부분의 페이지가 정적이었고, 암호화 없이 트래픽이 전송됐다. 이후 1995년에 브렌던 아이크가 자바스크립트를 만들면서 웹 페이지는 상호작용이 가능해졌고, 보안 취약점 전체 클래스가 나타나기 시작했다. 이후 마이크로소프트의 인터넷 익스플로러가 나타나고, 구글의 크롬이 만들어지며 인터넷 표준의 성장이 가속화됐다.

 

이후 1933년, 리눅스 커뮤니티는 CGI를 구현해 정적 HTML로 구성된 웹사이트를 쉽게 만들어졌으며, 이후에 CGI가 펄, PHP와 같은 스크립트 언어로 HTML을 생성할 수 있도록 허용해 데이터베이스에 저장된 콘텐츠에서 페이지를 동적으로 만들 수 있게 되었다. 그러나 동적 서버 코드는 새로운 보안 취약 범주를 만들어냈고, 해커들은 인젝션 공격을 이용해 서버에 악성 코드를 실행하거나 파일 시스템을 탐색하는 새로운 공격 방식을 발견했다.

 

화이트 해커는 재미로 보안 허점을 찾고, 소프트웨어 판매업자와 웹사이트 소유자들에게 익스플로잇을 공개하기 전에 취약점을 알려주어 금전적으로 보상을 받는다.

 

책임 있는 소프트웨어 벤더 사는 제로 데이 익스플로잇을 위한 패치를 가능한 한 빨리 만들어 내려고 하지만, 해커들은 이런 취약점을 이용할 수 있는 시간대를 극대화하기 위해 익스플로잇 코드를 블랙마켓에서 팔게 된다.

 

신용카드 세부 정보, 해킹된 사용자 계정, 제로 데이 악용에 대한 블랙 마켓을 다크 웹이라는 곳에 올리게 되는데, 이들의 계정은 수신 IP 주소를 익명화하는 특수 네트워크 노드를 통해서 보호된다.

 

해킹을 위해선 컴퓨터에 가상 컨테이너를 설치해 호스트 환경을 만들고, 메타스플로잇 프레임워크를 열어 취약점을 WMAP 유틸리티를 실행해 취약점을 이용할 수 있는 익스플로잇을 선택하면 된다.

 

이와 같이 해킹을 하는 방법은 너무나도 쉽기 때문에 보안을 위한 여러가지 방법을 이용해 미리 대응하는 것이 중요하다.