브라우저 보안

'''브라우저 보안'''(영어: Browser Security)은 웹 브라우저의 인터넷 보안에 대한 적용으로서 네트워크화된 데이터와 컴퓨터 시스템을 악성 소프트웨어나 사생활 침해로부터 보호하기 위한 것이다. 브라우저의 보안 익스플로잇은 종종 자바스크립트 - 가끔은 사이트 간 스크립팅 (XSS) - 를 사용하며, 가끔은 어도비 플래시를 이용한 부차적인 페이로드를 사용한다. 보안 익스플로잇은 또한 웹 브라우저들에서의 보안 취약점을 이용할 수 있다.
웹 브라우저들은 아래의 방법들에 의해 뚫릴 수 있다.
* 운영 체제가 뚫려서 악성코드가 관리자 모드에서 브라우저 메모리 영역을 읽거나 수정할 수 있을 때
* 운영체제가 백그라운드에서 돌아가는 악성코드를 갖고 있는 경우 관리자 모드에서 브라우저 메모리 영역은 읽거나 수정될 수 있다.
* 주요 브라우저 실행파일이 해킹될 수 있다.
* 브라우저 구성 요소들이 해킹될 수 있다.
* 브라우저 플러그인들이 해킹될 수 있다.
* 머신 외부에서 브라우저 네트워크 통신이 가로채질 수 있다.
브라우저는 위와 같이 뚫린 사실을 인식하지 못하고 안전한 연결이 만들어졌다고 사용자에게 보여줄 수 있다.
브라우저가 웹사이트와 통신할 때마다, 웹사이트는 브라우저의 몇몇 정보를 모은다. 만약 악의적인 코드가 웹사이트의 내용에 삽입되었다거나 최악의 경우 웹사이트가 의도적으로 악의적인 코드의 호스트로서 설계되었다면 취약점들은 이 악의적인 코드를 의도하지 않은 방법으로 브라우저 내에서 실행되게 할 수 있다. 공격자가 방문자의 머신에서 프로세스를 실행할 수 있다면, 알려진 보안 취약점을 공격함으로써 공격자는 감염된 시스템에 대해 특권적 접근(만약 브라우저가 이미 특권적 접근으로 실행중이지 않다면)을 얻을 수 있다.
웹 브라우저 보안을 위반하는 것은 보통 웹 버그나 클릭재킹, 라이크재킹, HTTP 쿠키, 좀비 쿠키 또는 플래시 쿠키 같은 툴들을 사용해서 디지털 마케팅이나 신원 도용 등을 위해 개인정보를 모으는 팝업창을 표시하기 위한 목적이다. 이 외에도 애드웨어, 바이러스, 트로이 목마 같은 스파이웨어 또는 MITB(man-in-the-browser) 공격을 사용하는 온라인 뱅킹 절도를 포함하는 악성 소프트웨어의 설치도 있다.
웹 브라우저의 취약점들은 브라우저 소프트웨어 업데이트를 유지함으로써 자체적으로 최소화될 수 있지만, 하부의 운영 체제가 루트킷에 감염된 경우에는 충분하지 않을 것이다. 몇몇 스크립팅, 애드온 그리고 쿠키 같은 브라우저의 하부구성요소들은 특히 취약하다.
종심방어의 원리에 따르면, 완전히 패치되고 정확하게 설정된 브라우저도 브라우저 관련 보안 문제가 발생하지 않을 것이라고 확신하기에는 충분치 않다. 예를 들면 루트킷은 은행 사이트에 로그인 할 경우 키로깅을 하거나 네트워크 트래픽을 수정해서 중간자 공격을 수행할 수 있다. DNS 하이재킹 또는 DNS 스푸핑은 잘못 타이핑한 웹사이트 이름에 대해 긍정오류를 반환하는데 사용되거나 유명한 검색 엔진의 검색 결과를 바꾸기 위해 사용될 수 있다. RSPlug 같은 악성코드는 DNS 서버를 가리키는 시스템의 설정을 간단하게 수정한다.
브라우저들은 몇몇 공격들을 방어하는데 도움을 주기 위해 통신 프로토콜의 더 안전한 방식들을 사용할 수 있다.
* DNS: DNSSec과 DNSCrypt
* HTTP: HTTPS와 SPDY
일반적으로 악의적인 웹사이트를 막고 다운로드한 파일의 안티바이러스 스캔을 수행하는 방화벽들과 프록시 서버 필터링을 통한 둘레 방어들은 큰 조직에서 악의적인 네트워크 트래픽을 막기 위한 구현으로서 주로 사용된다.
브라우저 보안의 주제는 "브라우저 익스플로잇 프레임워크 프로젝트" 같은 전체 조직들의 생성을 유발할 정도로 증가하고 있다.
=== 플러그인과 확장 ===
비록 그 자체가 브라우저는 아니지만 브라우저 플러그인들과 브라우저 확장들은 공격 목표로 확장되었다. 예를 들면 어도비 플래시 플레이어, 어도비 어크로뱃, 자바 애플릿, 액티브X가 주로 익스플로잇된다. 악성코드는 브라우저 확장으로서 구현될 수 있다. 구글 크롬이나 모질라 파이어폭스 같은 브라우저들은 위험한 플러그인들을 막거나 사용자에게 경고할 수 있다.
역으로, 브라우저 확장들은 보안 설정을 강화하는데 사용될 수 있다.
보안브라우저의 종류: 2021년 기준
통상 웹 브라우저는 소스를 브라우저의 개발 툴에서 열람할 수 있어 해킹에 노출되는 경우가 있다. 이를 근원적으로 막기 위해 소스코드  보기를 제거한 보안 브라우저가 출시되어 사용되기도 한다(대한민국 기준: 특허(보안 웹브라우저 동작 방법)에 근거한 Corus(코러스) 보안브라우저).
=== 플래시 ===
2009년 8월 Social Science Research Network의 연구에 의하면 플래시를 사용하는 웹사이트들 중 50%가 플래시 쿠키를 적용하지만, 프라이버시 정책들은 거의 그것들을 드러내지 않으며, 프라이버시 선호를 위한 사용자 제어가 부족하다고 밝혔다. 대부분의 브라우저들의 캐시와 히스토리 삭제 기능은 자신의 캐시에 LSO를 쓰는 플래시 플레이어에는 영향을 미치지 않는다. 그리고 사용자 커뮤니티들은 HTTP 쿠키에 비해 플래시 쿠키의 존재와 기능에 대해 훨씬 적은 관심을 갖고 있다. 그러므로, 플래시 브라우징 히스토리가 남아 있음에도 불구하고 사용자들은 HTTP 캐시와 히스토리 파일, 캐시를 지움으로써 모두 지웠다고 여기게 된다.
쓰기 불가능하고 읽기만 가능한 파일 시스템과 웹 브라우저를 돌리는 하드웨어 기반 해결책은 LiveCD 접근법에 기반한다. 브라이언 크렙스는 조직화된 사이버 범죄로부터의 보호를 위해 LiveCD의 사용을 추천한다. 이러한 하드웨어 브라우저의 가장 초기 모델은 2013년에 나온 ZeusGard 보안 하드웨어 브라우저이다. 부트 가능한 미디어가 시작될 때마다 브라우저는 알려진 깨끗한 그리고 안전한 운영 환경을 시작한다. 데이터는 절대로 장치에 저장되지 않으며 미디어는 겹쳐써질 수 없어서, 부팅 시마다 깨끗하다.
최소 권한 사용자 계정으로 인터넷을 브라우징하는 것은 웹 브라우저에서 보안 취약점의 가능성을 제한한다.
인터넷 익스플로러는 블랙리스트 그리고 화이트리스트 액티브X 제어와 애드온 그리고 브라우저 확장을 다양한 방법으로 허용한다.
인터넷 익스플로러 7은 MIC(Mandatory Integrity Control)라고 불리는 윈도우 비스타의 보안 샌드박싱 특징의 적용을 통해 브라우저를 강화하는 "보호 모드"를 추가하였다. 구글 크롬은 웹페이지가 운영 체제에 접근하는 것을 제한하기 위해 샌드박스를 제공한다.
의심되는 악성코드 사이트는 구글에 보고되며, 구글에 의해 확인되고, 특정 브라우저들에서 표시된다.
최신 브라우저라도 강화를 위한 써드파티 확장과 플러그인이이 존재한다.
* 애플리케이션 보안
* 프레임 삽입
* NSP
* :en:Browser Security
분류:네트워크 보안
분류:웹 브라우저
분류:웹 취약점 공격