라벨이 개념인 게시물 표시

아무것도 신뢰하지 않고 검증한다. Zero Trust 보안이란?

이미지
1. 제로 트러스트의 시작 1.1. Zero Trust 란 Zero Trust는 " 기본적으로 아무것도 신뢰하지 않고(never trust), 모든 접근을 지속적으로 검증(always verify)하는 보안 모델 " 이다. 1.1.1. Never Trust, Always Verify 절대 신뢰하지 말고, 항상 검증하라 사용자, 기기, 네트워크 위치를 기본적으로 신뢰하지 않는다. 내부망이라도 안전하다고 가정하지 않는다. 모든 접근 요청에 대해 항상 인증(Authentication)과 인가(Authorization)를 수행한다. 1.1.2. Least Privilege Access 최소 권한 원칙 사용자에게 업무 수행에 필요한 최소한의 권한만 부여한다. 불필요한 접근 권한은 허용하지 않는다. 1.1.3.  Assume Breach 침해를 가정하라 시스템이 이미 공격당했을 가능성을 전제로 설계한다. 공격이 발생해도 확산되지 않도록 설계한다. 1.2. Zero Trust 시작 배경 2010년, ‘ 오퍼레이션 오로라(Operation Aurora) ’라는 대규모 사이버 공격 사건이 발생하였다. 사건 개요: 이 공격은 구글을 포함한 20개 이상의 주요 IT 기업을 대상으로 한 대규모 APT( 지능형 지속 위협) 공격 이었다. 공격 수법: 웹 브라우저인 인터넷 익스플로러의 제로데이 취약점 을 악용한 ‘드라이브 바이 다운로드(Drive-by Download)’ 방식이 사용되었다. 공격 대응: 이 공격으로 큰 피해를 입은 구글은 기존의 네트워크 경계 기반 보안 모델만으로는 고도화된 사이버 공격을 방어하기에 한계가 있다고 판단하였다. 이에 따라 구글은 약 8년에 걸쳐  모든 접근을 검증하는 제로 트러스트(Zero Trust) 아키텍처로 인프라를 재설계  하였다. 이후 2014년, 그 성과를 ‘ 비욘드코프 (BeyondCorp)...

원격 브라우저 격리 (RBI, Remote Browser Isolation) - 서버 구현 기술

이미지
1. RBI 서버 구현 기술 RBI (Remote Browser Isolation)는 단순히 “브라우저를 원격에서 실행한다” 수준을 넘어서,  서버 인프라, 네트워크, 스트리밍, 보안 기술이 복합적으로 결합 된 구조이다. 대규모 확장성을 고려한 시스템 구조 설계와 클라우드 인프라와의 연계 기술이 필요하며, 여러 접속 지점에서도 안정적인 서비스를 제공할 수 있어야 한다 1.1. 서버 기술 1.1.1. Edge Computing  RBI는 사용자와 지리적으로 인접한 Edge 노드에서 브라우저를 실행함으로써 네트워크 지연을 최소화한다. 이때 Edge 서버는 단순 콘텐츠 캐시가 아닌 브라우저 인스턴스의 실제 실행 위치로 기능한다. 기술 요소 멀티 리전 Edge 노드 배치 및 지역별 트래픽 라우팅 Geo DNS 또는 Anycast 기반 글로벌 로드 밸런싱 PoP (Point of Presence) 구성을 통한 서비스 접점 분산 1.1.2. 화면 스트리밍 서버에서 실행된 브라우저 화면은 이미지 또는 영상으로 인코딩되어 실시간으로 사용자에게 전송된다. 전체 화면을 매 프레임 전송하는 방식은 대역폭 낭비를 유발하므로, 변경된 영역만 추출하여 전송 하는 Delta Encoding (Dirty Rectangle) 방식이 적용된다. 또한 적응형 비트레이트(ABR, Adaptive Bitrate) 기술을 통해 네트워크 상태에 따라 화질과 전송량을 동적으로 조정한다. 기술 요소 Delta Encoding / Dirty Rectangle 기반 변경 영역 전송 H.264, VP9 등 영상 압축 코덱 및 GPU 가속 인코딩 네트워크 상태에 맞춰 화질을 자동 조정 (ABR) WebRTC 기반 저지연 실시간 스트리밍 1.2. WebRTC 연결 기술 WebRTC 기반 스트리밍 환경에서는 클라이언트와 서버 간 실시간 연결을 수립하기 위해 세 가지 핵심 메커니즘이 함께 작동한다. 1.2.1. Signalin...

원격 브라우저 격리 (RBI, Remote Browser Isolation)란 무엇인가 - 개요와 구현 기술 정리

이미지
1. RBI 개요 RBI (Remote Browser Isolation)는 사용자의 로컬 환경에서 브라우저를 실행하지 않고, 서버 또는 격리된 원격 환경에서 브라우저를 실행한 뒤 화면만 전달하는 보안 기술이다. 브라우저는 서버 측 격리 환경에서 실행되며, 사용자는 화면 결과만 수신한다. 사용자 입력 이벤트는 서버로 전달되어 원격 브라우저를 제어한다. 1.1. 웹 보안의 한계 오늘날 대부분의 업무는 웹 브라우저를 중심으로 이루어진다. 웹 브라우저는 가장 많이 사용되는 업무 환경이자, 공격자가 가장 먼저 노리는 주요 침입 지점이 되었다. 기존의 웹 보안 체계는 주로 웹 사이트 차단, URL 분류, 악성 코드 탐지 단계에서의 판별 방식에 의존한다. 알려진 위협에는 유효하지만, 신규 피싱이나 미분류 악성 코드에는 한계가 있다. 또한  모든 웹 접근을 사전에 차단하는 것은 현실적으로 불가능 하다. 이로 인해 기존 웹 보안 방식만으로는 웹 위협을 근본적으로 차단하기 어렵다는 구조적인 한계가 존재한다. 1.2. RBI의 필요성 원격 브라우저 격리(RBI)는 이러한 한계를 고려하여 접근 방식을 전환한 보안 개념이다. 웹 페이지를 사용자 단말이 아닌  격리된 서버 환경에서 실행 하도록 한다. 사용자는 실행 결과만 전달받으며, 웹에 포함된 악성 코드나 취약점 공격은 격리된 환경 내부에서 차단된다. RBI는 차단이 아닌 격리를 통해 웹 접근을 허용하면서도 보안 위험을 최소화한다. 사용자는 기존과 유사한 방식으로 웹을 이용할 수 있으며, 보안은 실행 환경 분리를 통해 구조적으로 강화된다. 이러한 이유로 RBI는 현대 웹 환경에서 보안과 사용성을 동시에 충족하는  현실적인 대안 으로 평가된다. 2. RBI 구현 기술 2.1. Chrome / Chromium ...

Secure Access Service Edge (SASE)란 무엇인가

이미지
1. SASE의 정의 SASE (Secure Access Service Edge)는 가트너( Gartner )가 제시한 서비스 아키텍처 개념이자 마케팅 용어이다. "The Future of Network Security Is in the Cloud" (2020) 보고서에서 공식화           1.1. 출현 배경 기존에는 업무가 본사 데이터 센터 내에서 이루어졌으나, 현재는 사용자(재택근무자)와 업무 데이터(SaaS, 클라우드)가 분산되고 있는 추세이다. 이러한 이유로 서로 호환되지 않는 여러 기술을 다뤄야 하는 상황에 직면하게 되었으며, 복잡성과 비용이 증가하고 있다. 기존 VPN 방식은 트래픽을 본사로 모았다가 다시 보내는 구조라 병목 현상과 높은 지연 시간이 발생하는 문제가 발생하고 있다. 또한, 사용자 수 증가에 따른 확장성 확보에 한계가 있다. 1.2. 제공 방법 네트워크 서비스(SD-WAN)와 보안 서비스(CASB, SWG/FWaaS, ZTNA 등)를 단일 ...

실행 파일 수정 가능성의 이해 및 대응 방법

이미지
1. 실행 파일 구조 이미 다음 주제를 통하여 실행 파일의 구조에 대하여 살펴보았다. 실행 파일은 파일은 어떻게 동작하는가 문서 파일이 정해진 형식으로 구성되어 있는 것처럼 실행 파일도 문서 파일과 크게 다르지 않은 구조를 가지고 있으며, 구성 요소 중 .text 섹션의 기계어 코드가 로드되어 동작 하게 된다. 2. 실행 파일 수정 그렇다면 .text 섹션에 저장된 기계어 코드를 직접 수정 함으로써 프로그램의 실행 동작을 변경할 수 있다는 것을 의미한다. 이러한 특성을 활용하면, 프로그램의 소스를 수정하지 않고도 실행 결과를 변경할 수 있다. 2.1. bin to hex xxd 명령어를 사용하여 실행 파일을 텍스트 형식의 hex 파일로 변환한다. $ objdump -d -M intel add Disassembly of section .text: 0000000000401000 <_start>: 401000: b0 02 mov al,0x2 ; Load the value 2 into the AL register 401002: 04 03 add al,0x3 ; Add the immediate value 3 to AL (AL = 2 + 3) $ ./add result: 5 $ xxd add > add.hex 2.2. edit hex 텍스트 편집기로 생성된 "add.hex" 파일을 열어 offset 0x00001003 위치의 값 "03"을 "01"로 수정하고 저장한다. ...

실행 파일은 파일은 어떻게 동작하는가

이미지
1. Assembly CPU가 이해하는 기계어는 2진(Binary) 코드 이다. Assembly 는 기계어를 사람이 읽을 수 있도록 문자 형태의 명령어(mnemonic) 로 표현한 것이다.  따라서, 기계어(machine code)와 가장 유사한 프로그래밍 언어는 Assembly 이라고 할 수 있다.  기계어가 어떤 과정으로 실행되는지 확인하기 위하여 간단한 Assembly 프로그램을 살펴보고자 한다.  다음 Assembly 코드는 "2 + 3"의 결과를 출력하는 동작을 한다. ; Ubuntu 24.04 x86-64 (NASM, ELF64) section .data msg db "result: " msg_len equ $ - msg newline db 0x0a section .bss buf resb 1 section .text global _start _start: mov al, 2 add al, 3 mov bl, al mov rax, 1 mov rdi, 1 mov rsi, msg mov rdx, msg_len syscall mov al, bl add al, '0' mov [buf], al mov rax, 1 mov rdi, 1 mov rsi, buf mov rdx, 1 syscall mov rax, 1 mov rdi, 1 mov rsi, newline mov rdx, 1 syscall mov rax, 60 xor rdi, rdi syscall add.asm ...