본문 바로가기

전체 글

(49)
HTTP Request Smuggling 취약점 #개요 Http Request Smuggling은 프론트 와 백엔드가 Http 요청의 경계를 다르게 해석하고 RFC7230을 따르지 않는 다양한 라이브러리 사용으로 인해 발생한다. #취약점 발생 이유 RFC 2616에 따르면 Transfer-Encoding 헤더 필드와 Content-Length 헤더 필드가 모두있는 메시지가 수신되면 후자인 Content-Length는 무시되고 이를 Transfer-Encoding이 이를 대체되어 취약점이 발생할 수 있다. 예시) Transfer-Encoding: chunked "Chunked" 방식에는 Content-Length 헤더가 존재하지 않고 대신 "Transfer-Encoding: Chuncked"라는 헤더로 요청한다.(0은 종료를 의미) POST /searc..
GraphQL 개념이해 #GraphQL 배경 Facebook에서 만든 Graph Query Language로 어플리케이션 레이어 쿼리 언어이다. 즉 API를 위한 쿼리언어이며 타입 시스템을 사용하여 쿼리를 실행하는 서버사이드 런타임이며 특정한 데이터베이스나 스토리지에 귀속되어 있지 않으며 기존 코드와 데이터에 의해 대체되는 언어이다. #GraphQL 개념 Graph QL(gql)은 sql의 언어적 구조차이는 매우크다. sql의 경우 데이터베이스 시스템에 저장된 데이터를 효율적으로 가져오는 것이 목적이라면 gql은 웹 클라이언트가 데이터를 서버로부터 효율적으로 가져오는 목적을 가지고 있다. 또한 sql의 문장은 주로 백앤드 시스템에서 작성하는 반면 gql의 문장은 주로 클라이언트 시스테에서 작성하고 호출하게 된다. #GraphQ..
[Chrome] Password Decrypt 이번 포스팅 글은 Chrome에 자동로그인 시 저장되는 계정과 패스워드를 복호화할 수 있는 방법을 정리한다. Chrome은 사용자의 편의를 위해 로그인이 필요한 Site마다 ID와 패스워드를 기억하는 기능을 제공한다. 일반적으로 패스워드의 경우 일방향 암호화를 이용하여 저장되어야 하지만 크롬에서 제공하는 자동로그인의 경우 패스워드를 평문으로 기억해야 하는 경우라면 암/복호화가 가능한 알고리즘으로 로컬 내 저장하는 방식이다. #저장원리 Windows용 Chrome에서는 DPAPI(Data Protection API)인 CryptProtectData를 사용해 패스워드를 암호화 후 SQLite로 저장한다. 저장되는 파일명은 "Login Data"이며 아래와 같은 경로에 위치하고 있다. * python 코드로 ..
[개인정보] 가명정보 처리방안 이번 포스팅 글은 가명정보 처리에 관한 내용을 정리한다. # 가명정보 처리목적 빅데이터, AI 등 다양한 융·복합 산업에서의 데이터 이용 수요가 급증하는 가운데, 데이터 활용의 핵심인 가명정보 활용을 위함 #가명처리 개인정보처리자(공공기관, 법인, 단체, 개인 등)는 통계작성, 과학적 연구, 공익적 기록보존 등을 위하여 정보주체의 동의 없이 가명정보를 이용, 제공, 결합 등 처리 할 수 있음(보호법 제28조의2 제1항, 제28조의3 제1항) 단 처리 목적이 설정되지 않은 상황에서 보유하고 있는 개인정보를 가명처리하여 보관하는 것은 「가명정보 처리에 관한 특례」에 근거한 처리로 볼 수 없음 가명정보는 가명처리를 수행한 당시의 처리 목적과 처리 상황(활용 형태, 처리 장소, 방법)에 따라 이용하는 것이 원칙..
Ngrok 플랫폼 사용 후기 이번 포스팅 글은 Ngrok에 대한 포스팅글을 내부 침투가 가능한지의 대한 관점에서 글을 정리하였다. #Ngrok이란? ngrok 플랫폼은 NAT와 방화벽 뒤에있는 사내 로컬 서버를 안전한 터널을 통해 공개 인터넷에 노출할 수 있도록 지원해주는 플랫폼으로 방화벽에서 포트 포워딩 같은 네트워크 환경 설정 변경없이 로컬에 실행중인 서버를 외부에서 접근 가능하다. 이런 기능을 제공해주는 플랫폼은 한편으로는 개발업무를 효율적으로 아주 편리하게 제공하지만 한편으로 회사 보안에 아주 치명적일 수 있단 판단이 들었다. #동작원리 Ngrok은 웹훅을 이용해 로컬서버를 ngrok.com쪽에 바인딩함으로써 NAT 및 방화벽을 우회하여 외부에서 접속 가능하도록 구성 및 동작한다. 방화벽이 적용된 환경에서 실제 외부에서 방화..
[Docker] 소개 및 명령어 정리 이번 포스팅 글은 Docker를 사용을 접하고 경험했던 내용을 정리한다. #Doker란? Docker는 가상 머신처럼 독립된 실행환경을 제공해주는 것으로 빠르고 효율적으로 애플리케이션을 컨테이너 기반으로 제공하는 오픈소스 가상화 플랫폼이다. # 컨테이너란? 가상화 기술 중 하나로 OS레벨의 가상화로 프로세스를 격리시켜 동작하는 방식이다. 이런 점을 활용하여 컨테이너 별 서버 구성이 가능하게 된다. #Docker 사용이유? 현업 담당자의 경우 초기 서버 구축이 시간이 매우 단축할 수 있으며 컨테이너를 활용하여 빠른 서비스 배포가 가능하다. #주요 명령어 1. Docker 이미지 실행 #docker run 2. Docker 이미지 리스트 확인 $ sudo docker images 3. Docker 이미지 삭..
역사 상 최악의 취약점 발견! 로그 포 제이(Log4j) 취약점 이번 포스팅 글은 최근 이슈가 존재하는 로그 포 제이(Log4j) 취약점에 대한 내용을 작성한다. #Log4j 란? log4j는 프로그램을 작성하는 도중에 로그를 남기기 위해 사용되는 자바 기반 로깅 유틸리티이다. 이번 로깅 프레임워크인 Log4j에서 발견된 원격 코드 실행 취약점(CVE-2021-4422)는 Log4j를 사용하는 모든 애플리케이션에서 임의의 원격 코드를 실행할 수 있는 취약점으로 실제 서버나 PC 관리자 권한을 탈취할 수 있다. #CVE-2021-4422 취약점 대응방안해당 취약점의 대응방안은 보안 조치가 완료된 최신버전으로 업데이트가 필요하나 업데이트 즉시 조치가 어려운 경우 아래와 같은 차선대응법으로 조치를 진행해야 한다. 1. Log4j 2.15 최신버전 업데이트 - https:/..
[AWS] Client VPN 이번 포스팅 글은 Open VPN 기반 AWS에서 제공하는 Client VPN 구축 사례를 소개한다. AWS Client VPN이란. AWS 제공하는 Client VPN는 네트워크의 리소스에 안전하게 액세스할 수 있는 관리형 VPN 서비스이다. AWS Client VPN 도입계기. 기존 OpenSource 기반 무료 VPN을 사용하면서 로그 및 계정관리 , 보안이슈 등 관리의 어려움이 있어 VPN 도입 검토 중 중앙관리가 가능한 Client VPN을 채택하였다. AWS 보안아키텍처 수립. 사내 업무환경에 맞게 보안아키텍처를 구성 및 검토하여 최종적으로 사용자 인증의 경우 Okta라는 솔루션 통해 접근 가능하도록 구성했으며 VPN TLS 연결을 위한 AWS에서 제공하는 인증서를 발급했고 최종적으로 VPN을..