브라우저 보안
1. 개요
브라우저 보안은 웹 브라우저가 다양한 해킹 시도로부터 안전하게 보호되는 것을 의미한다. 브라우저는 운영체제, 실행 파일, 플러그인, 네트워크 통신 등 여러 경로를 통해 보안 위협에 노출될 수 있으며, 악성코드 삽입, 개인 정보 수집, 악성 소프트웨어 설치 등의 피해를 발생시킬 수 있다. 이러한 위협을 최소화하기 위해 브라우저 소프트웨어 업데이트, 보안 프로토콜 사용, 방화벽 및 확장 프로그램 활용, 샌드박스 기술 등이 사용된다.
| 정의 | 웹 브라우저의 보안. 웹 보안, 인터넷 보안, 웹 애플리케이션 보안과 관련됨. |
|---|
| 동일 출처 정책 (Same-Origin Policy, SOP) | 동일 출처 정책에 따라 출처가 다른 리소스에 대한 접근 제한. |
|---|---|
| 콘텐츠 보안 정책 (Content Security Policy, CSP) | 콘텐츠 출처를 제한하여 XSS 공격 완화. |
| 하위 리소스 무결성 (Subresource Integrity, SRI) | 외부에서 가져온 파일이 변조되지 않았는지 확인. |
| HTTP Strict Transport Security (HSTS) | 브라우저가 항상 HTTPS를 사용하도록 강제. |
| 쿠키 보안 | 쿠키의 접근 범위 및 사용 기간을 제한하여 보안 강화. |
| 플러그인 보안 | 안전하지 않은 플러그인 사용을 제한하거나 사용자의 제어를 통해 보안 강화. |
| 샌드박싱 | 웹 콘텐츠를 격리된 환경에서 실행하여 시스템에 대한 접근 제한. |
| 확장 프로그램 보안 | 악성 확장 프로그램으로부터 보호. |
| 개인 정보 보호 설정 | 사용자가 추적 방지 및 데이터 수집 제한 설정. |
| 멀웨어 방지 | 브라우저에 내장된 멀웨어 스캐너 또는 외부 멀웨어 방지 소프트웨어 활용. |
| 피싱 방지 | 피싱 웹사이트를 탐지하고 사용자에게 경고. |
| 다운로드 보안 | 악성 파일 다운로드 차단. |
| 자동 완성 보안 | 자동 완성 기능의 보안 취약점 방지. |
| 주소 표시줄 스푸핑 방지 | 주소 표시줄에 표시되는 URL이 실제 웹사이트와 일치하도록 보장. |
| HTTPS | 웹사이트와 브라우저 간의 통신을 암호화하여 데이터 보호. |
|---|---|
| TLS | HTTPS 연결을 설정하는 데 사용되는 암호화 프로토콜. |
| SSL | TLS의 이전 버전으로, 현재는 보안 취약점으로 인해 사용이 권장되지 않음. |
| VPN | 가상 사설망을 통해 인터넷 트래픽을 암호화하고 IP 주소를 숨겨 개인 정보 보호. |
| 프록시 서버 | 사용자의 요청을 중개하여 IP 주소를 숨기고 보안 강화. |
| NoScript | 자바스크립트, Java, 기타 실행 가능한 콘텐츠의 실행을 선택적으로 차단하여 XSS 공격 방어. NoScript 파이어폭스 부가 기능 |
|---|---|
| BetterPrivacy | 로컬 공유 객체(LSO, 플래시 쿠키)를 삭제하여 개인 정보 보호 강화. BetterPrivacy 파이어폭스 부가 기능 |
| Mashable의 브라우저 관련 정보 | http://mashable.com/follow/topics/browser/%7C브라우저 관련 정보 |
|---|---|
| Comodo의 인터넷 보안 개요 | https://www.comodo.com/home/internet-security/free-internet-security.php%7C인터넷 보안 개요 |
-
웹 취약점 공격 -
보안 취약점
보안 취약점은 시스템의 설계, 구현, 운영, 관리상 결함이나 약점으로, 위협에 의해 악용되어 시스템 보안 정책을 위반할 수 있는 요소이며, ISO 27005, IETF RFC 4949, NIST SP 800-30, ENISA 등 다양한 기관에서 정의하고 있다. -
웹 취약점 공격 -
인터넷 보안
인터넷 보안은 사이버 위협, 악성 소프트웨어, 서비스 거부 공격 등으로부터 정보와 시스템을 보호하기 위해 네트워크 계층 보안, 다단계 인증, 방화벽 등 다양한 기술과 방법을 포괄한다. -
네트워크 보안 -
스파이웨어
-
네트워크 보안 -
가상 사설 서버
가상 사설 서버(VPS)는 공유 웹 호스팅과 전용 호스팅의 중간 단계 서비스로, 가상화 기술을 기반으로 슈퍼유저 수준의 접근 권한, 높은 운용 자유도와 향상된 보안성을 제공하지만, 환경 유지 관리 필요성, 상대적으로 높은 비용, 회선 공유 문제 등의 단점도 가진다. -
웹 브라우저 -
방문 기록
방문 기록은 사용자가 방문한 웹 페이지 정보를 저장하여 이전 페이지 접근성을 높이고, 타겟 광고 등에 활용되지만, 개인 정보 침해와 같은 프라이버시 문제를 야기할 수 있다. -
웹 브라우저 -
NPAPI
NPAPI는 웹 브라우저 플러그인이 브라우저와 상호 작용하는 인터페이스였으나, 새로운 웹 표준 등장, API 노후화, 보안 문제로 쇠퇴하여 주요 브라우저들이 지원을 중단했고, 대한민국에서는 액티브X 대안으로 고려되다 HTML5 전환으로 과도기적인 기술로 사용되었다.
2. 보안
종심방어 원칙에 따르면, 완전히 패치되고 정확하게 설정된 브라우저라도 브라우저 관련 보안 문제가 발생하지 않으리라고 확신하기는 어렵다. 예를 들어 루트킷은 사용자가 은행 사이트에 로그인 할 때 키로깅을 하거나 네트워크 트래픽을 수정하여 중간자 공격을 수행할 수 있다. DNS 하이재킹 또는 DNS 스푸핑은 잘못 입력한 웹사이트 이름에 대해 긍정 오류를 반환하거나, 유명 검색 엔진의 검색 결과를 변경하는 데 사용될 수 있다. RSPlug 같은 악성코드는 DNS 서버를 가리키는 시스템 설정을 간단하게 수정한다.
브라우저는 몇몇 공격을 방어하기 위해 다음과 같은 안전한 통신 프로토콜 방식을 사용할 수 있다.
* DNS: DNSSec, DNSCrypt
* HTTP: HTTPS, SPDY
일반적으로 악성 웹사이트를 차단하고 다운로드한 파일의 안티바이러스 검사를 수행하는 방화벽과 프록시 서버 필터링은 대규모 조직에서 악성 네트워크 트래픽을 차단하기 위한 구현 방법으로 주로 사용된다.
브라우저 보안은 "브라우저 익스플로잇 프레임워크 프로젝트"와 같은 조직이 생겨날 정도로 중요한 문제로 인식되고 있다.
2.1. 웹 브라우저 취약점
웹 브라우저들은 다양한 경로를 통해 해킹될 수 있다.
* 운영 체제가 뚫려서 악성코드가 관리자 권한으로 브라우저 메모리 영역을 읽거나 수정할 수 있다.
* 운영 체제에 백그라운드에서 실행되는 악성코드가 있는 경우, 관리자 권한으로 브라우저 메모리 영역을 읽거나 수정할 수 있다.
* 주요 브라우저 실행 파일 자체가 해킹될 수 있다.
* 브라우저 구성 요소들이 해킹될 수 있다.
* 브라우저 플러그인이 해킹될 수 있다.
* 컴퓨터 외부에서 브라우저 네트워크 통신이 가로채질 수 있다.
브라우저는 위와 같이 해킹된 사실을 인지하지 못하고 사용자에게 안전한 연결이 생성되었다고 표시할 수 있다.
웹 브라우저가 웹사이트와 통신할 때마다 웹사이트는 브라우저의 몇몇 정보를 수집한다. 만약 악성 코드가 웹사이트 콘텐츠에 삽입되거나, 최악의 경우 웹사이트가 의도적으로 악성 코드 호스트로 설계되었다면, 취약점을 통해 악성 코드가 브라우저 내에서 의도하지 않은 방식으로 실행될 수 있다. 공격자가 방문자의 컴퓨터에서 프로세스를 실행할 수 있게 되면, 알려진 보안 취약점을 공격하여 감염된 시스템에 대한 특권적 접근(브라우저가 이미 특권적 접근으로 실행 중이지 않은 경우)을 얻을 수 있다.
웹 브라우저 보안 위반은 보통 웹 버그, 클릭재킹, 라이크재킹, HTTP 쿠키, 좀비 쿠키 또는 플래시 쿠키 같은 도구를 사용하여 디지털 마케팅이나 신원 도용 등을 위해 개인정보를 수집하는 팝업창을 표시하기 위한 목적이다. 이 외에도 애드웨어, 바이러스, 트로이 목마 같은 스파이웨어 또는 MITB(man-in-the-browser) 공격을 사용하는 온라인 뱅킹 절도를 포함하는 악성 소프트웨어 설치도 있다.
웹 브라우저의 취약점은 브라우저 소프트웨어 업데이트를 유지함으로써 자체적으로 최소화될 수 있지만, 하부 운영 체제가 루트킷에 감염된 경우에는 충분하지 않다. 몇몇 스크립팅, 애드온, 쿠키 같은 브라우저의 하부 구성 요소들은 특히 취약하다.
2.2. 보안 위협 요소
웹 브라우저는 다양한 방식으로 보안 위협에 노출될 수 있다.
* 악성코드가 운영체제를 뚫고 관리자 권한으로 브라우저 메모리 영역을 읽거나 수정할 수 있다.
* 운영체제에서 백그라운드로 실행되는 악성코드가 관리자 권한으로 브라우저 메모리 영역을 읽거나 수정할 수 있다.
* 브라우저의 주요 실행 파일 자체가 해킹될 수 있다.
* 브라우저의 구성 요소들이 해킹될 수 있다.
* 브라우저 플러그인들이 해킹될 수 있다.
* 컴퓨터 외부에서 브라우저 네트워크 통신이 가로채질 수 있다.
브라우저는 이러한 공격을 인지하지 못하고 사용자에게 안전한 연결이 설정되었다고 표시할 수 있다.
웹 브라우저가 웹사이트와 통신할 때마다 웹사이트는 브라우저에 대한 몇 가지 정보를 수집한다. 악성 코드가 웹사이트 콘텐츠에 삽입되거나, 웹사이트 자체가 악성 코드를 호스팅하도록 설계된 경우, 특정 브라우저의 취약점을 통해 악성 코드가 브라우저 내에서 의도치 않은 방식으로 실행될 수 있다. 공격자가 사용자 컴퓨터에서 프로세스를 실행할 수 있게 되면, 알려진 보안 취약점을 악용하여 감염된 시스템에 대한 권한을 획득할 수 있다.
웹 브라우저 보안 위반은 주로 다음과 같은 목적으로 이루어진다.
* 팝업 광고를 표시
* 웹 버그, 클릭재킹, HTTP 쿠키, 좀비 쿠키, 플래시 쿠키 등의 도구를 사용하여 디지털 마케팅이나 신원 도용을 위해 개인정보를 수집
* 애드웨어, 바이러스, 트로이 목마 등의 악성 소프트웨어를 설치하거나, MITB(man-in-the-browser) 공격을 사용한 온라인 뱅킹 정보 탈취
어도비 플래시 플레이어, 자바 애플릿과 같은 브라우저 플러그인이나 브라우저 확장 프로그램도 공격 대상이 될 수 있다. 악성코드가 브라우저 확장 프로그램으로 구현될 수도 있다. 구글 크롬이나 모질라 파이어폭스 같은 브라우저는 위험한 플러그인을 차단하거나 사용자에게 경고하는 기능을 제공한다.
2.3. 보안 강화 방법
웹 브라우저의 보안을 강화하는 방법은 여러 가지가 있다.
* 브라우저 업데이트: 최신 버전의 브라우저를 사용하면 알려진 취약점을 해결하고 보안을 강화할 수 있다. 주요 브라우저 실행 파일이나 구성 요소, 플러그인이 해킹될 수 있으므로, 소프트웨어 업데이트를 통해 취약점을 최소화해야 한다.
* 종심 방어: 루트킷, DNS 하이재킹 등 다양한 공격에 대비하기 위해 다층적인 보안 대책을 마련해야 한다. 완전히 패치되고 정확하게 설정된 브라우저도 브라우저 관련 보안 문제가 발생하지 않을 것이라고 확신하기에는 충분치 않으므로, 키로깅, 중간자 공격 등을 방어할 수 있어야 한다.
* 보안 프로토콜 사용: DNSSec, DNSCrypt, HTTPS, SPDY 등 안전한 통신 프로토콜을 사용하여 데이터 유출 및 변조를 방지할 수 있다.
* 방화벽 및 프록시 서버: 악의적인 웹사이트를 막고 다운로드한 파일의 안티바이러스 스캔을 수행하는 방화벽과 프록시 서버를 사용하여 악의적인 네트워크 트래픽을 차단할 수 있다.
* 브라우저 확장 프로그램 활용: NoScript, Adblock Plus 등 보안 확장 프로그램을 사용하여 악성 스크립트 및 광고를 차단하고 개인정보를 보호할 수 있다.
* 하드웨어 브라우저: 쓰기 불가능하고 읽기만 가능한 파일 시스템과 웹 브라우저를 돌리는 하드웨어 기반 해결책은 보안을 강화하는 방법 중 하나이다. 예를 들어, 코러스 보안 브라우저는 대한민국 특허를 기반으로 만들어졌다.
* 최소 권한 사용자 계정: 최소 권한 사용자 계정(예: 관리자 권한 없이)으로 인터넷을 사용하면 웹 브라우저에서 보안 취약점의 가능성을 제한할 수 있다.
* [[샌드박스 (컴퓨터 보안)|샌드박스]]: 구글 크롬 등 일부 브라우저는 샌드박스 기술을 사용하여 웹 페이지가 운영 체제에 접근하는 것을 제한한다.
3. 개인 정보 보호
웹 브라우저는 사용자의 검색 기록, 쿠키 등 다양한 개인 정보를 수집하므로, 개인 정보 보호에 대한 주의가 필요하다. 2009년 8월 Social Science Research Network의 연구에 의하면 플래시를 사용하는 웹사이트들 중 50%가 플래시 쿠키를 적용하지만, 프라이버시 정책들은 거의 그것들을 드러내지 않으며, 사용자 제어 권한이 부족하다고 밝혔다. 대부분 브라우저의 캐시 및 기록 삭제 기능은 자체 캐시에 LSO를 쓰는 어도비 플래시 플레이어에는 영향을 미치지 않으며, 사용자들은 HTTP 쿠키에 비해 플래시 쿠키의 존재와 기능에 대해 잘 알지 못한다. 따라서 사용자들은 HTTP 캐시와 기록 등을 지워도 플래시 검색 기록은 남아있다고 여기게 된다.
3.1. 개인 정보 보호 문제
2009년 8월 사회 과학 연구 네트워크(Social Science Research Network)의 연구에 따르면, 플래시를 사용하는 웹사이트 중 50%가 플래시 쿠키(로컬 공유 객체, LSO)를 사용하지만, 개인 정보 보호 정책에는 거의 드러내지 않았으며, 사용자 제어가 부족하다고 밝혔다. 대부분 브라우저의 캐시 및 기록 삭제 기능은 LSO를 자체 캐시에 저장하는 어도비 플래시 플레이어에는 영향을 미치지 않아, 사용자들은 HTTP 쿠키와 브라우저 기록을 삭제해도 플래시 쿠키가 남아있다는 사실을 인지하지 못하는 경우가 많다.
브라우저 자체의 일부는 아니지만, 브라우저 플러그인과 브라우저 확장 기능은 공격 표면을 확장시킨다. 특히, 어도비 플래시 플레이어, 어도비 (아크로뱃) 리더, 자바 플러그인, 액티브X의 취약점이 자주 악용된다. 멀웨어는 인터넷 익스플로러의 브라우저 도우미 개체와 같은 브라우저 확장 기능으로 구현될 수도 있다. 구글 크롬이나 파이어폭스와 같은 일부 브라우저는 보안되지 않은 플러그인을 차단하거나 사용자에게 경고하는 기능을 제공한다.
찰리 밀러를 비롯한 여러 보안 전문가들은 컴퓨터 보안 컨퍼런스에서 어도비 플래시 플레이어를 설치하지 않거나 차단할 것을 권고했다.
3.2. 개인 정보 보호 강화 방법
2009년 8월 Social Science Research Network의 연구에 따르면, 플래시를 사용하는 웹사이트 중 50%가 플래시 쿠키를 적용하지만, 개인 정보 보호 정책에서 이를 명확히 밝히지 않고 있으며, 사용자가 개인 정보 설정을 제어하기 어렵다고 한다. 대부분의 브라우저에서 캐시와 검색 기록을 삭제해도, 플래시 플레이어가 Local Shared Object (LSO)를 캐시에 저장하기 때문에 플래시 쿠키는 삭제되지 않는다. 또한, 사용자들은 HTTP 쿠키에 비해 플래시 쿠키의 존재와 기능에 대해 잘 알지 못한다. 따라서 사용자들은 HTTP 캐시, 검색 기록, 파일을 삭제하면 모든 정보가 지워졌다고 생각하지만, 실제로는 플래시 브라우징 기록이 남아있게 된다.
4. 한국 웹 브라우저 보안 및 개인 정보 보호 현황
(이전 출력이 없으므로, 수정할 내용이 없습니다. 원문 소스가 제공되어야 '한국 웹 브라우저 보안 및 개인 정보 보호 현황' 섹션에 대한 내용을 작성하고, 이전 출력과의 비교 및 수정이 가능합니다.)