KR101723099B1 - 브라우저 공격에 대한 방어 - Google Patents

브라우저 공격에 대한 방어 Download PDF

Info

Publication number
KR101723099B1
KR101723099B1 KR1020157005952A KR20157005952A KR101723099B1 KR 101723099 B1 KR101723099 B1 KR 101723099B1 KR 1020157005952 A KR1020157005952 A KR 1020157005952A KR 20157005952 A KR20157005952 A KR 20157005952A KR 101723099 B1 KR101723099 B1 KR 101723099B1
Authority
KR
South Korea
Prior art keywords
browser
data
client device
url
data field
Prior art date
Application number
KR1020157005952A
Other languages
English (en)
Other versions
KR20150041089A (ko
Inventor
쉬무엘 어
Original Assignee
엠파이어 테크놀로지 디벨롭먼트 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 filed Critical 엠파이어 테크놀로지 디벨롭먼트 엘엘씨
Publication of KR20150041089A publication Critical patent/KR20150041089A/ko
Application granted granted Critical
Publication of KR101723099B1 publication Critical patent/KR101723099B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

URL로의 주요 브라우저의 열기가 검출되는 일 예시에서, 참조 브라우저는 이후 동일한 URL로 열릴 수 있고, 주요 브라우저의 각각의 데이터 필드로의 데이터 입력이 참조 브라우저의 각각의 대응하는 데이터 필드로 복사될 수 있고, 주요 브라우저 상의 보안은 참조 브라우저에 복사된 데이터에 적어도 기초하여 평가될 수 있다.

Description

브라우저 공격에 대한 방어{DEFENDING AGAINST BROWSER ATTACKS}
여기에서 기술된 실시예는 브라우저 공격으로 인해 실행될 수 있는 승인되지 않은 거래에 대한 하나 이상의 세이프가드를 구현하는 것에 일반적으로 관련된다.
온라인에서 실행되는 커머스의 비율이 증가함에 따라, 불법적인 이득을 위한 거래를 가능하게 하고 용이하게 하는 기술을 이용하고자 하는 시도가 있다. 특히, 브라우저 공격은 잠행 공격(stealth transaction)을 수행함으로써 커머스의 장소 또는 금융 기관을 위한 웹사이트에 대한 사용자의 타당한 액세스를 이용하도록 사용될 수 있다.
일 예시적인 실시예에서, 컴퓨터 판독가능 매체는 하나 이상의 프로세서로 하여금 주요 브라우저가 URL로 열렸음을 검출하고, URL로 참조 브라우저를 열고, 참조 브라우저 상에서 데이터 필드에 각각 대응하는 주요 브라우저 상의 각각의 데이터 필드로 데이터 입력을 복사하고, 참조 브라우저로 복사된 데이터에 적어도 기초하여 주요 브라우저에 대한 보안을 평가하게 하는 하나 이상의 컴퓨터 실행가능 명령어를 저장한다.
이상의 요약은 단순히 예시적인 것으로서 어떠한 방식으로든 제한적으로 의도된 것이 아니다. 이하의 상세한 설명과 도면을 참조함으로써, 상기 설명된 예시적인 양태, 실시예, 그리고 특징에 더하여, 추가적인 양태, 실시예, 그리고 특징 또한 명확해질 것이다.
다음의 상세한 설명에서, 다양한 변경과 수정이 다음의 상세한 설명으로부터 당업자에게 명백할 것이므로 실시예는 오직 예시로서 기술된다. 다른 도면의 동일한 참조 번호의 사용은 유사하거나 동일한 아이템을 나타낸다.
도 1은 여기에서 기술된 적어도 일부 실시예에 따라 배열되는, 브라우저 공격이 방어될 수 있는 예시적인 시스템 구성을 도시하고,
도 2는 여기에서 기술된 적어도 일부 실시예에 따라 배열되는 도 1의 예시적인 시스템에 관한 참조 브라우저의 예시적인 구성을 도시하고,
도 3은 여기에서 기술된 적어도 일부 실시예에 따라, 브라우저 공격을 방어하기 위한 동작의 프로세싱 흐름의 예시적인 구성을 도시하고,
도 4는 여기에서 기술된 적어도 일부 실시예에 따라 배열되는, 여기에서 기술되는 다양한 예시적인 방법이 구현될 수 있는 예시적인 컴퓨팅 장치를 도시하는 블록도를 도시한다.
이하의 상세한 설명에서 본 개시의 일부를 이루는 첨부된 도면이 참조된다. 문맥에서 달리 지시하고 있지 않은 한, 통상적으로, 도면에서 유사한 부호는 유사한 컴포넌트를 나타낸다. 상세한 설명, 도면, 그리고 청구범위에 설명되는 예시적인 실시예는 제한적으로 여겨지지 않는다. 본 개시에서 제시되는 대상의 범위 또는 사상에서 벗어나지 않으면서도 다른 실시예가 이용되거나, 다른 변경이 이루어질 수 있다. 여기에서 일반적으로 설명되고, 도면에 도시되는 본 개시의 양태는 다양한 다른 구성으로 배열, 대체, 조합 및 설계될 수 있음과 이 모두가 여기에서 명시적으로 고려됨이 기꺼이 이해될 것이다.
도 1은 여기에서 기술된 적어도 일부 실시예에 따라 배열되는, 브라우저 공격이 방어될 수 있는 예시적인 시스템 구성(100)을 도시한다. 도시된 바와 같이, 구성(100)은 참조 브라우저(106)와 브라우저(104)의 인스턴스를 갖는 클라이언트 장치(102) 및 인터넷 목적지(108)를 포함한다. 인터넷 목적지(108)의 제한이 아닌 예시는 커머스 장소를 위한 웹사이트 또는 금융기관을 위한 웹사이트를 포함할 수 있다.
클라이언트 장치(102)는 참조 브라우저(106)와 브라우저(104)의 인스턴스가 브라우저 공격을 방어하는 것의 적어도 일부 양상을 구현하도록 호스팅될 수 있다. 나아가, 클라이언트 장치(102)는 무선 서비스 제공자(도시되지 않음)에 의해 제공되는 모바일 통신 네트워크로 더 연결함으로써 인터넷 목적지(108)로의 통신 링크를 통해 데이터를 전송하고 수신하도록 구성될 수 있다. 클라이언트 장치(102)는 모바일 폰, 셀 폰, 스마트폰, PDA(personal data assistant), 개인용 미디어 플레이어 장치, 특수 용도 장치 또는 위의 기능 중 임의의 것을 포함하는 하이브리드 장치와 같은 모바일(또는 포터블) 전자 장치로 구현될 수 있다. 클라이언트 장치(102)는 태블릿을 포함하는 개인용 컴퓨터, 랩탑 컴퓨터, 랩탑이 아닌 컴퓨터 구성으로 또한 구현될 수 있고, 이는 전술된 모바일 통신 네트워크 또는 대안적으로 유선 네트워크로 연결될 수 있다.
클라이언트 장치(102)를 위한 통신을 구현하기 위한 전술된 무선 서비스 제공자는 모바일 네트워크 캐리어, 무선 캐리어, 또는 셀룰러 회사로 또한 알려질 수 있다. 대안적인 참조와 상관 없이, 무선 서비스 제공자는 모바일 통신 가입자를 위한 서비스를 제공할 수 있다.
클라이언트 장치(102)는 예컨대, 하드웨어, 소프트웨어, 펌웨어 또는 그의 임의의 조합의 프레임워크에 의해 구현되는 다양한 컴포넌트 또는 모듈의 운영체제(OS) 구성을 더 포함할 수 있다. 그러한 소프트웨어 및/또는 펌웨어는 ASIC(Application Specific Integrated Circuit) 또는 CSIC(Customer Specific Integrated Circuit)에 제한되지는 않으나 이를 포함하는 하나 이상의 컴퓨터 판독가능 매체를 포함할 수 있다. 전술된 OS 구성에 대응하는 다양한 컴포넌트 또는 모듈은 브라우저(104) 및 참조 브라우저(106)에 제한되는 것은 아니나 이를 포함할 수 있다.
브라우저(104)는 적어도 인터넷 목적지(108)와의 사용자 인터렉션을 용이하게 하도록 구성되는 OS 상에서 실행되는 컴포넌트 또는 모듈을 지칭할 수 있다. 예시로써, 클라이언트 장치(102)의 디스플레이 상에서 열리면, 브라우저(104)는 웹 기반 사용자 인터페이스, 커맨드 라인 인터페이스 또는 터치 인터페이스를 클라이언트 장치(102)의 사용자에게 제시함으로써 인터넷 상에서 정보를 검색하고, 제시하고 그렇지 않으면 넘어가기 위한 소프트웨어 애플리케이션을 지칭할 수 있다. 물론, 브라우저 공격을 방어하는 것의 실시예는 그러한 인터페이스에 제한되지 않으며, 직접적인 조작 인터페이스의 임의의 그리고 모든 실시예를 포함하는 것으로 해석되어야 한다.
웹 브라우저의 대표적인, 브라우저(104)는 전자 커머스를 용이하게 할 수 있고, 이에 의해 클라이언트 장치(102)의 사용자는 크레딧 카드, 데빗 카드, 존재하는 계좌 차변 기입을 사용하여 인터넷을 통해 상품 또는 서비스를 구매할 수 있다. 그러한 "비즈니스-대-고객(business-to-customre)" 온라인 쇼핑에 더해, 브라우저(104)에 의해 용이하게 되는 전자 커머스는 은행 또는 다른 금융 기관, 거래 처리, 계좌 관리, 재고 관리 등과 함께 재무적인 관리를 더 포함할 수 있다. 브라우저(104)에 의해 용이하게 될 수 있고 브라우저 공격을 방어하는 것의 실시예가 적용 가능할 수 있는 커머스, 전자 데이터 교환 등의 예시는 제한되지 않는다.
데이터 입력(103)은 여기에서 기술된 바와 같이, 브라우저(104) 상의 사용자 인터페이스를 통해 브라우저(104) 상의 적절한 데이터 필드로의 데이터의 입력을 나타낸다. 그러한 데이터 입력은 브라우저(104)에 의해 제공되는 사용자 인터페이스와의 사용자 인터렉션에 의해 구현될 수 있고, 데이터는 키보드, 마우스, 스타일러스, 멀티 터치 입력 또는 음성 커맨드에 의해 입력된다. 또한, 그러한 데이터 입력의 예시는 프로그램 입력 즉, 프로그램 및/또는 프로세서에 의한 프로그램 입력을 포함할 수 있다.
브라우저(104)는 브라우저(104) 상의 사용자 인터페이스와의 사용자 인터렉션에 의한 브라우저(104) 상의 적절한 데이터 필드로의 입력인 입증 데이터를 인터넷 목적지(108)로 전송함으로써, 부분적으로, 전자 커머스를 용이하게 할 수 있다. 입증 데이터는 클릭하거나 그렇지 않으면 사용자 인터페이스 상의 "발송" 또는 다른 버튼을 활성화함으로써 인터넷 목적지(108)로 이후 발송될 수 있다. 전송된 입증 데이터 정보가 인터넷 목적지(108)에 의해, 또는 거기에서 입증되면 의도된 거래가 브라우저(104) 상의 사용자 인터페이스를 통해 클라이언트 장치(102)로부터 입력을 이용하여 더 실행될 수 있다. 일부 실시예에서, 그러한 입력은 자동화될 수 있다.
참조 브라우저(106)는 클라이언트 장치(102) 상에서 "잠행" 브라우저로 실행되도록 구성되는 전솔된 OS 상에서 실행되는 컴포넌트 또는 모듈을 지칭할 수 있다. 대안적으로, 참조 브라우저(106)는 클라이언트 장치가 통신으로 연결되는 리모트 서버 상에서 실행될 수 있다. 잠행 모드에서, 참조 브라우저가 클라이언트 장치(102)의 디스플레이 상에서 보여지도록 의도되지 않음에도, 브라우저 공격을 방어하는 것의 대안적인 실시예는 클라이언트 장치(102)의 디스플레이에 적어도 디스플레이되도록 참조 브라우저(106)를 위한 수단 및 방법을 고려할 수 있다.
나아가, 브라우저(104)가 전자 커머스를 수생하기 위해 결합되더라도, 참조 브라우저(106)는 인터넷에 통신으로 결합되거나 되지 않을 수 있다. 또한, 참조 브라우저(106)가 브라우저(104)를 흉내 내는 것으로 의도되는 한편, 참조 브라우저(106)의 일부 실시예는 정적인 것으로 유지될 수 있고, 즉 임의의 인터넷 소스로부터 애드온(add-on)을 허용하지 않는다. 그러므로, 참조 브라우저(106)는 설계 또는 프로토콜에서 조차도 브라우저(104)를 복제하지는 않을 수 있으나, 구조, 즉 데이터 필드 및 데이터 입력을 위해 거기에서 복제할 수 있다.
참조 브라우저(106)는 브라우저(104)가 인터넷 목적지(108)에 대응하는, URL(uniform resource locator), 인터넷 리소스의 임의의 다른 식별자로 활성화하거나 연 것으로 검출되는 경우 활성화하거나 열 수 있다. 참조 브라우저(106)는 적어도 브라우저(104) 상에서 디스플레이되는 데이터 필드를 복제하고 적절하게 대응하는 데이터 필드로의 데이터 입력을 복사함으로써 브라우저(104)를 흉내 내도록 구성, 설계 및/또는 프로그램될 수 있다. 즉, 브라우저(104) 상의 데이터 필드로 입력되는 데이터는 참조 브라우저(106) 상의 대응하는 데이터 필드로 복사된다.
데이터 전송(105)은 여기에서 기술되는 적어도 일부 실시예에 따라, 참조 브라우저(106) 상의 대응하는 데이터 필드 상에 브라우저(104) 상의 데이터 필드로부터 데이터의 복사를 나타낸다.
브라우저(104) 상의 데이터 필드로의 데이터 입력이 인터넷 목적지(108)로 전송되는 경우, 브라우저(104)에 의해 식별되는 URL 또는 다른 식별자에서, 참조 브라우저(106)는 브라우저(104)의 데이터 필드로의 데이터 입력을 기록한다. 기록된 데이터는 클라이언트 장치(102)의 정적 또는 동적 메모리에서 저장될 수 있다.
데이터 전송(107)은 클라이언트 장치(102)의 정적 또는 동적 메모리 상에서 참조 브라우저(106)에 의해 기록되는 데이터의 저장을 나타낸다.
참조 브라우저(106)는 브라우저(104)에 의해 인터넷 목적지(108)로 실제로 전송되는 데이터로 기록된 데이터를 비교함으로써 브라우저(104)의 보안을 이후 평가할 수 있다. 더 특히, 참조 브라우저(106)는 클라이언트 장치(102) 상의 일시적인 인터넷 파일의 다른 저장소 또는 웹 캐시로 접근하고 인터넷 목적지(108)로 실제로 전송되는 데이터와 브라우저(104) 상의 데이터 필드로 입력된 기록된 데이터를 비교하도록 구성, 설계 및/또는 프로그램될 수 있다.
인터넷 목적지(108)로 실제로 전송된 데이터와 기록된 데이터의 비교가 불일치를 드러낼 경우, 클라이언트 장치(102)의 OS상의 알람 컴포넌트(도시되지 않음)는 브라우저 공격이 발생했고 브라우저(104)의 보안이 손상되었다고 클라이언트 장치(102)의 사용자에게 알리도록 시각적이거나 청각적인 경고를 활성화할 수 있다.
대안적으로, 인터넷 목적지(108)로 실제로 전송된 데이터와 기록된 데이터의 비교가 불일치를 드러내지 않는 경우, 참조 브라우저(106)의 동작은 클라이언트 장치(102)의 사용자에게 알려지지 않은 채, 전면에 나서지 않는다.
전술된 바와 같이, 참조 브라우저(106)는 인터넷에 통신으로 결합될 수 있거나 그렇지 않을 수 있다. 그러나, 참조 브라우저(106)는 브라우저(104)에 통신으로 결합되고, 특히 클라이언트 장치(102) 및 인터넷 목적지(108) 사이에서 인터넷 기반 통신이 용이하게 되는 클라이언트 장치(102) 상의 다른 클라이언트 애플리케이션으로 통신으로 더 결합될 수 있다. 그러한 클라이언트 애플리케이션의 제한이 아닌 예시는 예컨대, 아웃룩 등의 이메일 애플리케이션; 은행 또는 다른 금융 기관을 위한 애플리케이션; 커머스의 다른 장소 또는 스토어를 위한 애플리케이션; 서비스 제공자를 위한 애플리케이션; 소비자 리워드 프로그램을 위한 애플리케이션 등의, 인터넷 목적지(108)에 의해 나타나는 엔티티를 위한 또는 그에 의해 설계된 사유 애플리케이션을 포함할 수 있다. 그러므로, 데이터 전송(105)은 인터넷 목적지(108) 또는 참조 브라우저(106)로 통신되는 대응하는 도메인으로부터 클라이언트 장치(102)에 의해 수신되는 데이터를 더 나타낼 수 있고, 데이터는 클라이언트 장치(102) 상의 다른 클라이언트 애플리케이션 또는 브라우저(104)에 의해 수신된다.
그러므로, 확인 통신이 인터넷 상의 대응하는 도메인으로부터 또는 인터넷 목적지(108)로부터 전송되는 경우, 클라이언트 장치(102)의 OS상의 다른 컴포넌트 또는 참조 브라우저(106)가 들어오는 확인 통신을 검출할 수 있다. 브라우저 공격을 방어하는 것의 적어도 일부 실시예에서, 데이터가 전송되는 URL 또는 다른 식별자는 적어도 그러한 목적, 즉, 들어오는 확인 통신을 검출하는 것을 위해 캐시될 수 있다. 후속적으로, 클라이언트 장치(102)의 OS 상의 전술된 다른 컴포넌트 또는 참조 브라우저(106)는 기록된 데이터, 즉 브라우저(104)의 데이터 필드로 입력된 데이터를 브라우저(104)에 디스플레이되는 경우 검출된 확인 통신에 나타나는, 그러한 데이터 필드에 대응하는 데이터와 비교할 수 있다.
확인 통신에서 나타난 데이터와의 기록된 데이터의 비교가, 브라우저(104) 상에 디스플레이되는 경우, 불일치를 드러내는 경우, 클라이언트 장치(102)의 OS 상의 알람 컴포넌트는 브라우저 공격이 발생했고 브라우저(104)의 보안이 손상되었다는 것을 클라이언트 장치(102)의 사용자에게 알리는 시각적이거나 청각적인 경고를 활성화할 수 있다.
대안적으로, 확인 통신에서 나타나는 데이터와의 기록된 데이터의 비교가 불일치를 드러내지 않는 경우, 참조 브라우저(106)의 동작은 클라이언트 장치(102)의 사용자에게 알려지지 않은 채, 전면에 나서지 않는다.
인터넷 목적지(108)는 여기에서 기술된 실시예에 따라, 전자 커머스를 수행하도록 인터넷 상의 정보를 검색하고, 나타내고, 그렇지 않으면 넘어 가기 위해 지시된다. 인터넷 목적지(108)는 그의 주소 필드 상의 URL 또는 일부 다른 식별자에 의한 브라우저(104) 상에서 식별될 수 있다. URL의 가상 주소 공간이 대응할 수 있는 URL 및 도메인은 클라이언트 장치(102) 상의 정적 또는 동적 메모리에 저장될 수 있다.
일부 실시예에서, 인터넷 목적지(108)는 제3자 서비스 제공자에 의해 사용되고 및/또는 동작되는 클라우드 기반 및 스토리지 플랫폼으로 간주될 수 있다. 인터넷 목적지(108)는 하드웨어, 소프트웨어, 펌웨어 또는 그의 임의의 조합의 프레임워크를 포함할 수 있고, 디지털 데이터 및 정보가 클라이언트 장치(102)를 포함하는, 호스팅되는 서비스에 대한 적어도 하나의 가입자가 당사자인, 거래에 관하여 저장되거나 통과되거나 공유될 수 있다. 인터넷 목적지(108)는 사용하기에 앞서 클라이언트 장치(102)가 등록하는 웹 기반 스토리지 및 공유 서비스로 또한 구현될 수 있다.
그러므로, 도 1은 브라우저 공격을 방어하는 것의 다양한 실시예에 따른 거래 입증의 예시적인 구현을 도시한다.
기록된 데이터와 브라우저(104)에 의해 인터넷 목적지(108)로 전송된 데이터 및 확인 통신에서 나타나는 데이터 중 적어도 하나 사이의 불일치를 제공할 수 있는 공격의 하나의 유형은 "맨-인-더-브라우저(man-in-the-browser"(MitB) 공격으로 지칭될 수 있다. MitB는 여기에서 기술된 실시예에 의해 방어될 수 있는 무수한 공격 중 단지 하나이지만, 그의 상세한 설명은 적절한 입증이 획득된 이후일지라도 실행될 수 있는 부주의한 거래에 관한 문맥의 관찰을 제공한다. MitB 공격은 예컨대 브라우저 연장(browser extension) 및 애드온인 브라우저 능력을 향상시키도록 제공되는 보통의 설비를 이용함으로써 브라우저(104)의 인터넷 기반 통신 능력으로의 불법적인 액세스를 제공할 수 있다. 그러므로, 그러한 공격에 대한 방어는 신용 증명 비준(credential validation)에 반대되는 거래 입증에 더 관련될 필요가 있다.
도 2는 여기에서 기술된 적어도 일부 실시예에 따라 배열되는 도 1의 예시적인 시스템에 관한 참조 브라우저의 예시적인 구성(200)을 도시한다. 도시된 바와 같이, 클라이언트 장치(102)에서 호스팅되는, 참조 브라우저(106)의 예시적인 구성(200)은 나가는 컨텐츠 입증자(202), 들어오는 컨텐츠 입증자(204)를 포함한다. 그러나, 이러한 구성은 단지 예시이고, 임의의 방식에서 제한되는 것으로 의도된 것은 아니다.
나가는 컨텐츠 입증자(202)는 브라우저(104)로부터 인터넷 목적지(108)로 발송된 데이터가 클라이언트 장치(102)의 사용자에 의해 브라우저(104) 상의 데이터 필드에 입력된 데이터와 동일한지 입증하도록 구성되고, 설계되고 및/또는 프로그램되는 클라이언트 장치(102)의 OS 상의 컴포넌트 또는 모듈을 지칭할 수 있다.
예시로써, 참조 브라우저(106)는 브라우저(104) 상의 데이터 필드로의 입력인 데이터를, 클라이언트 장치(102)의 정적 또는 동적 메모리에, 기록한다. 브라우저(104) 상의 데이터 필드로의 데이터 입력이 인터넷 목적지(108)로 전송되는 경우, 나가는 컨텐츠 입증자(202)는 인터넷 목적지(108)로 브라우저(104)에 의해 실제로 전송되는 데이터와 기록된 데이터를 비교할 수 있다. 나가는 컨텐츠 입증자(202)는 클라이언트 장치(102) 상의 일시적인 인터넷 파일의 다른 저장소 또는 웹 캐시에 액세스하고 브라우저(104) 상의 데이터 필드로 입력된 기록된 데이터를 인터넷 목적지(108)로 실제로 전송된 데이터와 비교하기 위한 로직을 구현하도록 구성되고, 설계되고 및/또른 프로그램될 수 있다.
나가는 컨텐츠 입증자(202)가 인터넷 목적지(108)로 실제로 전송되는 데이터와 기록된 데이터 사이의 불일치를 드러내는 경우, 클라이언트 장치(102)의 OS 상의 알람 컴포넌트는 브라우저 공격이 발생했고 브라우저(104)의 보안이 손상되었음을 클라이언트 장치(102)의 사용자에게 알려주기 위한 경고를 활성화할 수 있다.
대안적으로, 나가는 컨텐츠 입증자(202)가 인터넷 목적지(108)로 실제로 전송되는 데이터와 기록된 데이터 사이의 불일치를 드러내지 않는 경우, 참조 브라우저(106)는 클라이언트 장치(102)의 사용자에게 알려지지 않은 채, 전면에 나서지 않는다.
들어오는 컨텐츠 입증자(204)는 클라이언트 장치(102) 상의 일부 다른 클라이언트 애플리케이션 또는 브라우저(104)에서 수신되는 데이터가 클라이언트 장치(102)의 사용자에 의해 브라우저(104) 상의 데이터 필드로 입력된 데이터와 동일한지를 입증하도록 구성되고, 설계되고 및/또는 프로그램되는 클라이언트 장치(102)의 OS 상의 컴포넌트 또는 모듈을 지칭할 수 있다.
예시로써, 확인 통신이 인터넷 목적지(108)로부터 또는 인터넷 상의 대응하는 도메인으로부터 전송되는 경우, 들어오는 컨텐츠 입증자(204) 또는 클라이언트 장치(102)의 OS 상의 다른 컴포넌트가 들어오는 확인 통신을 검출할 수 있다. 이후, 들어오는 컨텐츠 입증자(204)는 기록된 데이터, 즉 브라우저(104)의 데이터 필드에 입력된 데이터를 브라우저(104) 상에 디스플레이되는 경우 검출된 확인 통신에서 나타나는 그러한 데이터 필드에 대응하는 데이터에 비교하기 위한 로직을 구현할 수 있다.
다시 한번, 브라우저(104)상에 디스플레이되는 경우, 들어오는 컨텐츠 입증자(204)가 확인 통신에 나타난 데이터와 기록된 데이터 사이의 불일치를 드러내면, 클라이언트 장치(102)의 OS 상의 알람 컴포넌트는 브라우저 공격이 발생했고 브라우저(104)의 보안이 손상되었다는 것을 클라이언트 장치(102)의 사용자에게 알리기 위한 경고를 활성화할 수 있다.
대안적으로, 들어오는 컨텐츠 입증자(204)가 확인 통신에 나타난 데이터와 기록된 데이터 사이의 불일치를 드러내지 않는 경우, 참조 브라우저(106)의 동작은 클라이언트 장치(102)의 사용자에게 알려지지 않은 채, 전면에 나서지 않는다.
그러므로, 도 2는 참조 브라우저의 다양한 실시예에 따른 거래 입증의 예시적인 구성을 도시한다.
도 3은 여기에서 기술된 적어도 일부 실시예에 따라, 브라우저 공격을 방어하기 위한 동작의 프로세싱 흐름(300)의 예시적인 구성을 도시한다. 도시된 바와 같이, 프로세싱 흐름(300)은 제한되지는 않지만 브라우저(104) 및/또는 참조 브라우저(106)를 포함하는, 클라이언트 장치(102) 상의 OS의 일부인 다양한 컴포넌트에 의해 실행되는 서브 프로세스를 포함한다. 그러나, 프로세싱 흐름(300)은, 여기에서 기술된 서브 프로세스 중 둘 이상을 재순서하고, 서브 프로세스 중 적어도 하나를 제거되고, 추가적인 서브 프로세스를 추가하고, 컴포넌트를 대체하고, 다음의 기술에서 다른 컴포넌트에 일치되는 서브 프로세싱 역할을 수행하는 다양한 컴포넌트를 가짐으로써 명백한 수정이 이루어질 수 있음에 따라 프로세싱 흐름(300)은 그러한 컴포넌트에 제한되지 않는다. 처리 흐름(500)은 블록(302, 304, 306, 308 및/또는 310) 중 하나 이상에 의해 도시되는 다양한 동작, 기능 또는 작동을 포함할 수 있다. 프로세싱은 블록(302)에서 블록(304)으로 진행할 수 있다.
블록(302)(브라우저 열림 검출)은 브라우저(104)가 열렸다거나 인터넷 목적지(108)에 대응하는 다른 식별자 또는 URL로 활성화되었음을 검출하는 클라이언트 장치(102)의 OS 상의 컴포넌트 또는 모듈을 지칭할 수 있다. 프로세싱은 블록(302)에서 블록(304)으로 진행할 수 있다.
블록(304)(참조 브라우저 열기)은 참조 브라우저(106)를 포함하거나 포함하지 않을 수 있는, 참조 브라우저(106)를 열거나 활성화하는 클라이언트 장치(102)의 OS 상의 컴포넌트 또는 모듈을 지칭할 수 있다. 참조 브라우저(106)는, 인터넷에 통신으로 연결되는 경우, 브라우저(104)로서 동일한 URL을 열거나 활성화할 수 있고 이후 거기에서 디스플레이되는 적어도 데이터 필드를 흉내 낼 수 있다. 대안적으로, 참조 브라우저(106)는 클라이언트 장치(102)의 OS가 실행되는 임의의 시간에 열 수 있고, 이후 이전에 기술된, 브라우저(104) 상에 디스플레이된 데이터 필드를 흉내 낼 수 있다. 또한, 참조 브라우저(106)가 인터넷에 통신으로 결합되지 않는 경우, 참조 브라우저는 전송(105)에 의해 복구된, 브라우저(104) 상에 디스플레이된 적어도 데이터 필드를 흉내 낼 수 있다. 프로세싱은 블록(304)에서 블록(306)으로 진행할 수 있다.
블록(306)(브라우저로부터 참조 브라우저로 데이터 복사)은 참조 브라우저(106) 상의 대응하는 데이터 필드 상의 브라우저(104) 상의 데이터 필드 상에 입력된 데이터를 복사하기 위한 로직을 구현하는 클라이언트 장치(102)의 OS 상의 실행되는 일부 다른 컴포넌트 또는 참조 브라우저(106)를 지칭할 수 있다. 프로세싱은 블록(306)에서 블록(308)을 진행할 수 있다.
블록(308)(나가는 데이터에 기초하여 보안 평가)은 브라우저(104)로부터 인터넷 목적지(108)로 발송된 데이터가 클라이언트 장치(102)의 사용자에 의해 브라우저(104)상의 데이터 필드로 입력되는 데이터와 동일하다는 것을 입증하는 클라이언트 장치(102)의 OS 상의 다른 모듈 또는 나가는 컨텐츠 입증자(202)를 지칭할 수 있다.
클라이언트 장치(102)의 OS 상의 전술된 다른 모듈 또는 나가는 컨텐츠 입증자(202)에 의해, 참조 브라우저(106)는 클라이언트 장치(102)의 정적 또는 동적 메모리에서 브라우저(104) 상의 데이터 필드로의 입력인 데이터를 기록할 수 있다. 나가는 컨텐츠 입증자(202)는 클라이언트 장치(102) 상의 일시적인 인터넷 파일의 다른 저장소 또는 웹 캐시에 액세스하고 인터넷 목적지(108)로 실제로 전송되는 데이터와 브라우저(104) 상의 데이터 필드에 입력된 기록된 데이터를 비교하기 위한 로직을 구현함으로써 인터넷 목적지(108)로 브라우저(104)에 의해 실제로 전송되는 데이터와 기록된 데이터를 비교할 수 있다. 나가는 컨텐츠 입증자(202)가 기록된 데이터와 인터넷 목적지(108)로 실제로 전송된 데이터 사이의 불일치를 드러내는 경우, 클라이언트 장치(102)의 OS 상의 알람 컨포넌트는 브라우저 공격이 발생했고 브라우저(104)의 보안이 손상되었다는 것을 클라이언트 장치(102)의 사용자에게 알리기 위한 시각적이거나 청각적인 경고를 활성화할 수 있다. 대안적으로, 나가는 컨텐츠 입증자(202)가 기록된 데이터와 인터넷 목적지(108)로 실제로 전송된 데이터 사이의 불일치를 드러내지 않는 경우, 참조 브라우저(106)의 동작은 전면에 나서지 않는다. 프로세싱은 블록(308)에서 블록(310)으로 진행할 수 있다.
블록(310)(나가는 데이터에 기초하여 보안 평가)은 브라우저(104)에서 수신된 데이터 또는 클라이언트 장치(102) 상의 일부 다른 클라이언트 애플리케이션이 클라이언트 장치(102)의 사용자에 의해 브라우저(104) 상의 데이터 필드로 입력되는 데이터와 동일한지 입증하는 클라이언트 장치(102)의 OS 상의 다른 모듈 또는 들어오는 컨텐츠 입증자(204)를 지칭할 수 있다.
확인 통신이 인터넷 목적지(108)로부터 또는 인터넷 상의 대응하는 도메인으로부터 전송되는 경우, 참조 브라우저(106)는, 클라이언트 장치(102)의 OS 상의 다른 컴포넌트 또는 들어오는 컨텐츠 입증자(204)에 의해, 들어오는 확인 통신을 검출할 수 있다. 들어오는 컨텐츠 입증자(204)는 브라우저(104)에 디스플레이되는 경우 검출된 확인 통신에서 나타난 그러한 데이터 필드에 대응하는 데이터와 기록된 데이터를 비교하기 위한 로직을 구현할 수 있다. 들어오는 컨텐츠 입증자(204)가 기록된 데이터와 디스플레이되는 경우 확인 통신에서 나타나는 데이터와의 불일치를 드러내는 경우, 브라우저 공격이 발생했고 브라우저(104)의 보안이 손상되었음을 클라이언트 장치(102)의 사용자에게 알리기 위한 시각적이거나 청각적인 경고를 활성화할 수 있다. 대안적으로, 들어오는 컨텐츠 입증자(204)가 확인 통신에 나타난 데이터와 기록된 데이터 사이의 불일치를 드러내지 않는 경우, 참조 브라우저(106)의 동작은 전면에 나서지 않는다.
그러므로, 도 3은 이에 의해 구현된 거래를 입증함으로써 브라우저 상의 보안을 평가 하기 위한 예시적인 프로세싱 흐름을 도시한다.
도 4는 여기에서 기술된 적어도 일부 실시예에 따라 배열되는, 여기에서 기술되는 다양한 예시적인 방법이 구현될 수 있는 예시적인 컴퓨팅 장치(400)를 도시하는 블록도를 도시한다.
더 특히, 도 4는 여기에서 기술되는 프로세스 및 서브 프로세스 중 임의의 것이 컴퓨터 판독가능 매체 상에서 저장되는 컴퓨터 판독가능 명령어로 구현될 수 있는 예시적인 컴퓨팅 실시예를 도시한다. 컴퓨터 판독가능 명령어는 여기에서 참조된 바와 같이, 네트워크 요소 및/또는 거기에 대응하는 임의의 다른 장치를 갖고, 특히 브라우저 공격을 방어하기 위한 구성(100)에 대응하는 전술된 애플리케이션 및/또는 프로그램에 적용 가능한, 예컨대 장치의 프로세서에 의해 실행될 수 있다.
매우 기본적인 구성에서, 컴퓨팅 장치(400)는 하나 이상의 프로세서(404) 및 시스템 메모리(406)을 전형적으로 포함할 수 있다. 메모리 버스(408)는 프로세서(404)와 시스템 메모리(406) 사이의 통신을 위해 사용될수 있다.
요구되는 구성에 따라, 프로세서(404)는 마이크로프로세서(μP), 마이크로컨트롤러(μC), 디지털 신호 프로세서(DSP) 또는 그 임의의 조합을 포함하는 임의의 유형일 수 있지만, 이에 한정되는 것은 아니다.
요구되는 구성에 따라, 시스템 메모리(406)는 (RAM과 같은) 휘발성 메모리, (ROM, 플래시 메모리 등과 같은) 비휘발성 메모리, 또는 그 임의의 조합을 포함할 수 있지만, 이에 한정되지 않는 임의의 유형일 수 있다. 시스템 메모리(406)는 운영 체제(420), 하나 이상의 애플리케이션(422), 및 프로그램 데이터(424)를 포함할 수 있다.
애플리케이션(422)은 도 1-3에 관해 전술된 바와 같이 클라이언트 장치(102)에 관한 식별 정보를 전송 또는 수신하고, 그러한 식별 데이터를 입증 또는 인가하고, 장치 데이터를 전송하도록 구성될 수 있다. 나아가, 애플리케이션(422)은 브라우저(104)의 열림을 검출하고, 클라이언트 장치(102) 상의 일부 다른 클라이언트 애플리케이션 또는 브라우저(104)로부터 또는 브라우저로 전송된 데이터와 저장된 데이터를 비교하기 위한 로직을 구현하도록 구성될 수 있다. 프로그램(424)는 표(450)를 포함할 수 있고, 여기에서 기술된 적절한 컴포넌트 또는 모듈의 활성화를 구현하는 데에 유용할 수 있다.
시스템 메모리(406)는 컴퓨터 저장 장치의 예시이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨팅 장치(400)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 한정되는 것은 아니다. 그러한 임의의 컴퓨터 저장 매체는 장치(400)의 일부일 수 있다.
네트워크 통신 링크는 통신 매체의 일 예시일 수 있다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 다른 전송 메커니즘 같은 변조된 데이터 신호 내의 다른 데이터에 의해 구현될 수 있고, 임의의 정보 전달 매체를 포함할 수 있다. "변조된 데이터 신호"는 신호 내에 정보를 인코딩하기 위한 방식으로 설정되거나 변경된 특성 중 하나 이상을 갖는 신호일 수 있다. 제한적인지 않은 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음파, 무선 주파수(RF), 마이크로웨이브, 적외선(IR) 및 다른 무선 매체와 같은 무선 매체를 포함할 수 있다. 여기서 사용되는 컴퓨터 판독가능 매체라는 용어는 저장 매체를 포함할 수 있다.
시스템 양상들의 하드웨어와 소프트웨어 구현 사이에는 구별이 거의 없다. 하드웨어 또는 소프트웨어의 사용은 일반적으로 (그러나 어떤 맥락에서 하드웨어 및 소프트웨어 사이의 선택이 중요하게 될 수 있다는 점에서 항상 그런 것은 아니지만) 비용 대비 효율의 트레이드오프(tradeoff)를 나타내는 설계상 선택(design choice)이다. 여기에서 기술된 프로세스 및/또는 시스템 및/또는 다른 기술들이 영향 받을 수 있는 다양한 수단(vehicles)(예를 들어, 하드웨어, 소프트웨어 및/또는 펌웨어)이 있으며, 선호되는 수단은 프로세스 및/또는 시스템 및/또는 다른 기술이 사용되는 맥락(context)에 따라 변경될 것이다.
전술한 상세한 설명은 블록도, 흐름도, 및/또는 예시의 사용을 통해 시스템 구성(100)을 위한 장치 및/또는 프로세스의 다양한 실시예를 설명하였다. 그러한 블록도, 흐름도, 및/또는 예시가 하나 이상의 기능 및/또는 동작을 포함하는 한, 당업자라면 그러한 블록도, 흐름도, 또는 예시 내의 각각의 기능 및/또는 동작은 하드웨어, 소프트웨어, 펌웨어, 또는 실질적으로 그들 임의의 조합의 넓은 범위에 의해 개별적으로 및/또는 집합적으로 구현될 수 있다는 것이 이해될 것이다. 일 실시예에서, 여기에서 기술된 대상의 몇몇 부분은 ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), DSP(Digital Signal Processor) 또는 다른 집적의 형태를 통해 구현될 수 있다. 그러나, 당업자라면, 여기에서 기술된 실시예의 일부 양상이, 하나 이상의 컴퓨터 상에 실행되는 하나 이상의 컴퓨터 프로그램(예를 들어, 하나 이상의 컴퓨터 시스템 상에 실행되는 하나 이상의 프로그램), 하나 이상의 프로세서 상에서 실행되는 하나 이상의 프로그램(예를 들어, 하나 이상의 마이크로프로세서 상에서 실행되는 하나 이상의 프로그램), 펌웨어 또는 실질적으로 그들의 조합으로서, 전체적으로 또는 부분적으로 균등하게 집적 회로에 구현될 수 있다는 알 수 있으며, 소프트웨어 및/또는 펌웨어를 위한 코드의 작성 및/또는 회로의 설계는 본 개시에 비추어 당업자에게 자명할 것이다. 또한, 당업자라면, 여기에서 기술된 대상의 수단(mechanism)들이 다양한 형태의 프로그램 제품으로 분포될 수 있음을 이해할 것이며, 여기에서 기술된 대상의 예시는, 분배를 실제로 수행하는데 사용되는 신호 베어링 매체(signal bearing medium)의 특정 유형과 무관하게 적용됨을 이해할 것이다. 신호 베어링 매체의 예시는, 플로피 디스크, 하드 디스크 드라이브(HDD), CD(Compact Disc), DVD(Digital Versatile Disk), 디지털 테이프, 컴퓨터 메모리 등과 같은 판독가능 유형의 매체 및 디지털 및/또는 아날로그 통신 매체(예를 들어, 섬유 광학 케이블, 웨이브가이드, 유선 통신 링크, 무선 통신 링크 등)와 같은 전송 유형 매체를 포함할 수 있으나, 이에 제한되지는 않는다.
당업자라면, 여기서 설명된 형식으로 장치 및/또는 프로세스를 기술하고, 이후, 공학 실무를 사용하여 그러한 기술된 장치 및/또는 프로세스을 데이터 처리 시스템에 통합한다는 것은 당해 분야에서는 일반적이란 것을 인식할 것이다. 즉, 여기서 기술된 장치 및/또는 프로세스의 적어도 일부는 합당한 실험 량을 통해 데이터 처리 시스템에 통합될 수 있다. 당업자라면, 전형적인 데이터 처리 시스템은 일반적으로 시스템 유닛 하우징, 비디오 디스플레이 장치, 휘발성 및 비휘발성 메모리 같은 메모리, 마이크로프로세서 및 디지털 신호 프로세서와 같은 프로세서, 운영 체제, 드라이버, 그래픽 사용자 인터페이스 및 애플리케이션 프로그램과 같은 컴퓨터 엔티티(computational entities), 터치 패드 또는 스크린 같은 하나 이상의 상호작용 장치, 및/또는 피드백 루프 및 제어 모터(예를 들면, 위치 및/또는 속도를 감지하기 위한 피드백; 컴포넌트 및/또는 양(quantities)을 이동하고 및/또는 조정하기 위한 제어 모터)를 포함하는 제어 시스템 중 하나 이상을 일반적으로 포함한다는 것을 인식할 것이다. 전형적인 데이터 처리 시스템은 데이터 컴퓨팅/통신 및/또는 네트워크 컴퓨팅/통신 시스템에서 전형적으로 발견되는 바와 같은 임의의 적절한 상업적으로 이용 가능한 컴포넌트를 이용하여 구현될 수 있다.
여기에서 기술된 대상은 때때로 상이한 다른 컴포넌트 내에 포함되거나 접속된 상이한 컴포넌트를 도시한다. 도시된 그러한 아키텍처는 단순히 예시적인 것이고, 사실상 동일한 기능을 달성하는 다른 많은 아키텍처가 구현될 수 있다는 것이 이해되어야 한다. 개념적으로, 동일한 기능을 달성하기 위한 컴포넌트의 임의의 배치는 원하는 기능이 달성되도록 유효하게 "연관"된다. 이에 따라, 특정 기능을 달성하기 위해 여기서 결합된 임의의 두 개의 컴포넌트는, 아키텍처 또는 중간 컴포넌트와는 무관하게, 원하는 기능이 달성되도록 서로 "연관"된 것으로 볼 수 있다. 마찬가지로, 연관된 임의의 두 개의 컴포넌트는 또한 원하는 기능을 달성하기 위해 서로 "동작적으로 접속"되거나 또는 "동작적으로 연결"되는 것으로 간주될 수 있고, 그와 같이 연관될 수 있는 임의의 두 개의 컴포넌트는 또한 원하는 기능을 달성하기 위해 서로 "동작적으로 연결가능"한 것으로 볼 수 있다. 동작적으로 연결가능하다는 것의 특정예는 물리적으로 양립가능(mateable)하고 및/또는 물리적으로 인터액팅하는 컴포넌트 및/또는 무선으로 인터액팅이 가능하고 및/또는 무선으로 인터액팅하는 컴포넌트 및/또는 논리적으로 인터액팅하고 및/또는 논리적으로 인터액팅이 가능한 컴포넌트를 포함하지만, 이에 한정되는 것은 아니다.
마지막으로, 여기에서 실질적으로 임의의 복수 및/또는 단수의 용어의 사용에 대하여, 당업자는 맥락 및/또는 응용에 적절하도록, 복수를 단수로 및/또는 단수를 복수로 해석할 수 있다. 다양한 단수/복수의 치환은 명확성을 위해 여기에서 명시적으로 기재될 수 있다.
당업자라면, 일반적으로 본 개시에 사용되며 특히 첨부된 청구범위(예를 들어, 첨부된 청구범위)에 사용된 용어들이 일반적으로 "개방적(open)" 용어(예를 들어, 용어 "포함하는"은 "포함하지만 이에 제한되지 않는"으로, 용어 "갖는"는 "적어도 갖는"으로, 용어 "포함하다"는 "포함하지만 이에 한정되지 않는" 등으로 해석되어야 함)로 의도되었음을 이해할 것이다. 또한, 당업자라면, 도입된 청구항의 기재사항의 특정 수가 의도된 경우, 그러한 의도가 청구항에 명시적으로 기재될 것이며, 그러한 기재사항이 없는 경우, 그러한 의도가 없음을 또한 이해할 것이다. 예를 들어, 이해를 돕기 위해, 이하의 첨부 청구범위는 "적어도 하나" 및 "하나 이상" 등의 도입 구절의 사용을 포함하여 청구항 기재사항을 도입할 수 있다. 그러나, 그러한 구절의 사용이, 부정관사 "하나"("a" 또는 "an")에 의한 청구항 기재사항의 도입이, 그러한 하나의 기재사항을 포함하는 예시들로, 그러한 도입된 청구항 기재사항을 포함하는 특정 청구항을 제한함을 암시하는 것으로 해석되어서는 안되며, 동일한 청구항이 도입 구절인 "하나 이상" 또는 "적어도 하나" 및 "하나"("a" 또는 "an")과 같은 부정관사(예를 들어, "하나"는 "적어도 하나" 또는 "하나 이상"을 의미하는 것으로 전형적으로 해석되어야 함)를 포함하는 경우에도 마찬가지로 해석되어야 한다. 이는 청구항 기재사항을 도입하기 위해 사용된 정관사의 경우에도 적용된다. 또한, 도입된 청구항 기재사항의 특정 수가 명시적으로 기재되는 경우에도, 당업자라면 그러한 기재가 전형적으로 적어도 기재된 수(예를 들어, 다른 수식어가 없는 "두개의 기재사항"을 단순히 기재한 것은, 전형적으로 적어도 두 개의 기재사항 또는 두 개 이상의 기재사항을 의미함)를 의미하도록 해석되어야 함을 이해할 것이다. 또한, "A, B 및 C 등 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 및 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B, 및 C를 함께 갖는 시스템 등을 포함하지만 이에 제한되지 않음). "A, B 또는 C 등 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 또는 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B, 및 C를 함께 갖는 시스템 등을 포함하지만 이에 제한되지 않음). 또한 당업자라면, 실질적으로 임의의 이접 접속어(disjunctive word) 및/또는 두 개 이상의 대안적인 용어들을 나타내는 구절은, 그것이 상세한 설명, 청구범위 또는 도면에 있는지와 상관없이, 그 용어들 중의 하나, 그 용어들 중의 어느 하나, 또는 그 용어들 두 개 모두를 포함하는 가능성을 고려했음을 이해할 것이다. 예를 들어, "A 또는 B"라는 구절은 "A" 또는 "B" 또는 "A 및 B"의 가능성을 포함하는 것으로 이해될 것이다.
앞서 말한 바로부터, 본 개시의 다양한 실시예가 예시의 목적을 위해 여기에서 기술되었고, 다양한 수정이 본 개시의 사상과 범위를 벗어나지 않으면서 이루어질 수 있음이 이해될 것이다. 따라서, 여기에서 개시된 다양한 실시예는 제한하려고 의도된 것이 아니며, 진정한 범위와 사상은 이하 청구범위에서 나타난다.

Claims (23)

  1. 하나 이상의 컴퓨터 실행가능 명령어를 저장하는 비일시적인 컴퓨터 판독가능 기록 매체로서, 상기 컴퓨터 실행가능 명령어는 실행되는 경우, 하나 이상의 프로세서로 하여금,
    주요 브라우저가 URL로 열린 것을 검출하고 - 상기 주요 브라우저는 클라이언트 장치 상에서 실행됨 -;
    상기 주요 브라우저와 동일한 상기 URL로 참조 브라우저를 활성화시키고 - 상기 참조 브라우저는 상기 클라이언트 장치에서 실행되고 상기 주요 브라우저 상에서 디스플레이되는 데이터 필드를 적어도 복제함으로써 상기 URL로 열린 상기 주요 브라우저를 흉내 내도록 구성됨 -;
    상기 참조 브라우저 상의 상기 대응하는 데이터 필드로 상기 주요 브라우저 상에 디스플레이되는 각각의 데이터 필드로의 데이터 입력을 복사하고;
    상기 클라이언트 장치로부터 상기 URL에 대응하는 도메인으로의 데이터의 전송을 검출하고 - 상기 검출된 데이터 전송은 상기 주요 브라우저 상의 상기 데이터 입력의 결과임 -; 그리고
    상기 클라이언트 장치로부터 상기 URL에 대응하는 상기 도메인으로의 상기 검출된 데이터 전송이 상기 참조 브라우저로 복사된 상기 데이터 입력에 매치되지 않는다는 결정에 적어도 기초하여 상기 클라이언트 장치 상의 승인되지 않은 활동의 발생을 표시하게 하는 것인, 컴퓨터 판독가능 기록 매체.
  2. 제1항에 있어서,
    상기 표시는 통지인 것인, 컴퓨터 판독가능 기록 매체.
  3. 제1항에 있어서,
    상기 하나 이상의 컴퓨터 실행가능 명령어는 상기 하나 이상의 프로세서로 하여금,
    상기 URL에 대응하는 상기 도메인으로부터 들어오는 확인 전송을 검출하고 - 상기 확인 전송은 상기 클라이언트 장치로부터 상기 URL에 대응하는 상기 도메인으로의 상기 데이터의 상기 전송에 대응함 -; 그리고
    상기 검출된 들어오는 확인 전송이 상기 참조 브라우저로 복사된 상기 데이터 입력에 매치되지 않는다는 결정에 적어도 기초하여 상기 클라이언트 장치 상의 승인되지 않은 활동의 발생을 더 표시하게 하는 것인, 컴퓨터 판독가능 기록 매체.
  4. 제1항에 있어서,
    상기 참조 브라우저는 애드온(add-on)을 허용하지 않는 것인, 컴퓨터 판독가능 기록 매체.
  5. 제1항에 있어서,
    상기 참조 브라우저에 복사된 상기 데이터 입력은 상기 URL에 대응하는 상기 도메인으로 전송되지 않는 것인, 컴퓨터 판독가능 기록 매체.
  6. 제2항에 있어서,
    상기 통지는 상기 참조 브라우저 상의 상기 대응하는 데이터 필드로 복사된 상기 데이터 입력에 인접한 상기 클라이언트 장치로부터 전송된 상기 데이터의 디스플레이를 포함하는 것인, 컴퓨터 판독가능 기록 매체.
  7. 제3항에 있어서,
    상기 표시는 상기 참조 브라우저 상의 상기 대응하는 데이터 필드로 복사되는 상기 데이터 입력에 인접한 상기 들어오는 확인 전송의 디스플레이를 포함하는 통지인 것인, 컴퓨터 판독가능 기록 매체.
  8. 컴퓨터 구현 시스템으로서,
    메모리;
    스토리지; 및
    상기 메모리 및 상기 스토리지에 결합된 적어도 하나의 프로세서
    를 포함하고, 상기 적어도 하나의 프로세서는,
    URL로 제1 브라우저를 열고 - 상기 제1 브라우저는 클라이언트 장치 상에서 실행됨 -,
    상기 제1 브라우저 상의 각각의 데이터 필드로의 데이터 입력을 수신하고,
    상기 제1 브라우저와 동일한 상기 URL로 제2 브라우저를 활성화시키고 - 상기 제2 브라우저는 상기 클라이언트 장치 상에서 실행되고 상기 제1 브라우저의 적어도 구조를 흉내 내도록 구성됨 -,
    상기 제1 브라우저 상의 상기 각각의 데이터 필드로의 상기 데이터 입력을 상기 제2 브라우저 상의 상기 대응하는 데이터 필드로 복사하고,
    상기 URL에 대응하는 도메인으로 데이터를 전송하고 - 상기 전송된 데이터는 상기 제1 브라우저 상의 상기 데이터 입력의 결과임 -;
    상기 URL에 대응하는 상기 도메인으로부터, 상기 URL에 대응하는 상기 도메인으로의 상기 데이터의 상기 전송에 대응하는 확인 전송을 수신하고, 그리고
    상기 URL에 대응하는 상기 도메인으로부터 수신된 상기 확인 전송이 상기 제2 브라우저로 복사된 상기 데이터 입력에 매치되지 않는다는 결정에 적어도 기초하여 상기 클라이언트 장치 상에서 승인되지 않는 활동의 발생을 표시하도록 구성되는 것인, 시스템.
  9. 삭제
  10. 제8항에 있어서,
    상기 표시는 통지의 디스플레이인 것인, 시스템.
  11. 삭제
  12. 삭제
  13. URL로 제1 브라우저가 열린 것을 검출하면 참조 브라우저를 활성화하는 단계 - 상기 참조 브라우저는 상기 제1 브라우저와 동일한 상기 URL로 활성화되고, 상기 제1 브라우저와 상기 참조 브라우저는 클라이언트 장치 상에서 실행됨 -;
    상기 제1 브라우저 상의 데이터 필드로의 데이터 입력을 상기 제1 브라우저의 적어도 구조를 흉내 낸 상기 참조 브라우저 상의 대응하는 사본 데이터 필드로 복사하는 단계;
    인터넷 목적지로 데이터를 전송하는 단계 - 상기 전송된 데이터는 상기 제1 브라우저로의 상기 데이터 입력으로부터 도출됨 -;
    상기 인터넷 목적지로부터 확인 메시지의 수신을 검출하는 단계 - 상기 확인 메시지는 상기 인터넷 목적지로 전송된 상기 제1 브라우저로의 상기 데이터 입력의 진술된 재성명(alleged restatement)을 포함함 -; 및
    상기 참조 브라우저 상의 상기 사본 데이터 필드로의 상기 복사된 데이터 입력과 상기 수신된 확인 메시지의 비교에 적어도 기초하여 상기 제1 브라우저 상에서 공격이 이루어졌는지 결정하는 단계
    를 포함하는 것인, 방법.
  14. 삭제
  15. 삭제
  16. 제13항에 있어서,
    상기 결정하는 단계는 맨-인-더-브라우저 공격(man-in-the-browser attack)이 상기 제1 브라우저에서 이루어졌는지 결정하는 단계를 포함하는 것인, 방법.
  17. 제13항에 있어서,
    공격이 상기 제1 브라우저에서 이루어졌다는 결정에 응답하여 통지를 디스플레이하는 단계를 더 포함하는 방법.
  18. 삭제
  19. 제13항에 있어서,
    확인 메시지의 상기 수신을 검출하는 상기 단계에 앞서,
    상기 인터넷 목적지로 전송된 상기 데이터가 상기 참조 브라우저 상의 상기 사본 데이터 필드로 복사된 상기 데이터 입력에 매치되지 않는다는 결정에 응답하여 상기 제1 브라우저 상에서 공격이 이루어졌다고 결정하는 단계
    를 더 포함하는 방법.
  20. 제19항에 있어서,
    상기 제1 브라우저 상에서 공격이 이루어졌다는 결정에 응답하여 통지를 제공하는 단계를 더 포함하고, 상기 통지는 상기 참조 브라우저 상의 상기 사본 데이터 필드로 복사된 상기 데이터 입력에 인접한 상기 인터넷 목적지로 전송된 상기 데이터의 디스플레이를 포함하는 것인, 방법.
  21. 제1항에 있어서,
    상기 주요 브라우저 상의 각각의 데이터 필드로의 상기 데이터 입력은 사용자에 의해 제공되는 것인, 컴퓨터 판독가능 기록 매체.
  22. 제1항에 있어서,
    상기 참조 브라우저는 보이지 않는 것인, 컴퓨터 판독가능 기록 매체.
  23. 제8항에 있어서,
    상기 제2 브라우저는 보이지 않는 것인, 컴퓨터 구현 시스템.
KR1020157005952A 2012-08-06 2012-08-06 브라우저 공격에 대한 방어 KR101723099B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/049697 WO2014025334A1 (en) 2012-08-06 2012-08-06 Defending against browser attacks

Publications (2)

Publication Number Publication Date
KR20150041089A KR20150041089A (ko) 2015-04-15
KR101723099B1 true KR101723099B1 (ko) 2017-04-04

Family

ID=50026899

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157005952A KR101723099B1 (ko) 2012-08-06 2012-08-06 브라우저 공격에 대한 방어

Country Status (3)

Country Link
US (1) US9306973B2 (ko)
KR (1) KR101723099B1 (ko)
WO (1) WO2014025334A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2571721C2 (ru) * 2014-03-20 2015-12-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обнаружения мошеннических онлайн-транзакций
WO2017053394A1 (en) 2015-09-21 2017-03-30 Vasco Data Security, Inc. A multi-user strong authentication token

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070016949A1 (en) * 2005-07-15 2007-01-18 Microsoft Corporation Browser Protection Module

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7051285B1 (en) * 2000-06-28 2006-05-23 Intel Corporation Controlling the display of pup-up web browser windows
US7343626B1 (en) * 2002-11-12 2008-03-11 Microsoft Corporation Automated detection of cross site scripting vulnerabilities
US10003509B2 (en) * 2004-07-14 2018-06-19 Riverbed Technology, Inc. Packet tracing
US8745151B2 (en) * 2006-11-09 2014-06-03 Red Hat, Inc. Web page protection against phishing
US9521161B2 (en) 2007-01-16 2016-12-13 International Business Machines Corporation Method and apparatus for detecting computer fraud
KR20100057028A (ko) * 2007-08-08 2010-05-28 삼성전자주식회사 네트워크에서 사용자 선호도 프로파일을 관리하기 위한 방법 및 시스템
US8225401B2 (en) 2008-12-18 2012-07-17 Symantec Corporation Methods and systems for detecting man-in-the-browser attacks
US8745191B2 (en) * 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
KR101562974B1 (ko) * 2009-09-07 2015-10-30 삼성전자 주식회사 스트리밍 서비스의 지연 감소를 위한 단말기, 시드 서버 및 트랙커 서버
US8996988B2 (en) * 2009-10-19 2015-03-31 Browsera, LLC Automated application compatibility testing
BR112012018643B1 (pt) 2010-01-26 2021-12-07 EMC IP Holding Company LLC Método para detecção de acessos não autorizados de recursos online seguros, sistema de segurança de rede para detectar acessos não autorizados de recursos online seguros e mídia de armazenamento legível por computador
US20140115701A1 (en) * 2012-10-18 2014-04-24 Microsoft Corporation Defending against clickjacking attacks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070016949A1 (en) * 2005-07-15 2007-01-18 Microsoft Corporation Browser Protection Module

Also Published As

Publication number Publication date
US9306973B2 (en) 2016-04-05
KR20150041089A (ko) 2015-04-15
WO2014025334A1 (en) 2014-02-13
US20140041025A1 (en) 2014-02-06

Similar Documents

Publication Publication Date Title
US20110119190A1 (en) Anonymous transaction payment systems and methods
US11178169B2 (en) Predicting online electronic attacks based on other attacks
US20220027428A1 (en) Security system for adaptive targeted multi-attribute based identification of online malicious electronic content
US20240037572A1 (en) Fraud prevention through friction point implementation
US8468348B1 (en) Closed loop communication
Cagnazzo et al. GDPiRated–stealing personal information on-and offline
WO2021202844A1 (en) Network data management and data security
EP3427172B1 (en) Systems and methods for device to device authentication
US10997290B2 (en) Enhancing computer security via detection of inconsistent internet browser versions
KR101723099B1 (ko) 브라우저 공격에 대한 방어
US20210328973A1 (en) Transactional identity system and server
EP3479543B1 (en) Client-side security key generation
US11328295B1 (en) Secure messaging-based delayed payout mediation with protective countermeasures
Abu-ulbeh et al. The Threats and Dimensions of Security Systems in Electronic Commerce
US20220198442A1 (en) Secure communications for mobile wallet applications
US10992701B2 (en) Systems and methods for dynamic targeting of secure repurposed cross-channel electronic communications
Clarke A risk assessment framework for mobile payments
Johnson et al. The Effect of Internet Threat on Small Businesses in South Africa
US11775986B1 (en) Secure facilitation of virtual card activities for procurement
US11768902B2 (en) System and method for providing content to a user
US20240048584A1 (en) Securing network devices against network vulnerabilities
Desai et al. Identification of Security Challenges and Security Issues in Social Oriented Architecture
Yazdanifard et al. Security and Trust in Electronic Commerce-Finding the Safe Side
WO2023158420A1 (en) System, method, and computer program product for secure data distribution
Clarke et al. The feasibility of consumer device security

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant